Búsqueda del valor de un registro en tabla

¿Serían tan amables de ayudarme con el siguiente caso?:

Este es el código que tengo asociado al evento click de un combobox:

Private Sub Seleccion_codigo_Click()

Me.Descripción_Material = Me.Seleccion_codigo.Column(2)
Dim tabla As Recordset
Dim db As Database
Dim variable As Integer

Set db = CurrentDb
Set tabla = db.OpenRecordset("Tabla_Existencia_de_Material")

Do Until tabla.EOF = True

If tabla(0) = Me.Seleccion_codigo Then
variable = tabla(8)
Me.Cantidad_Inicial = variable

Else
tabla.MoveNext
End If

Loop

End Sub

Combobox="Seleccion_codigo"

Tabla:"Tabla_Existencia_de_Material"

Control que almacena el valor a buscar en la tabla:"Cantidad_Inicial"

(0):primera columna en la tabla y tiene por nombre "Codigo"

(8):Columna 8 en la tabla, hace referencia a la cantidad inicial del material

¡¿Qué deseo hacer?, que cada vez que se seleccione un código del combobox, en el control "Cantidad_Inicial", se refleje el valor que tiene ese código en la columna cantidad.

Cabe mencionar que los valores que se reflejan en el combobox, provienen de otra tabla, "Material Requerido por Instalación", y es por ello que realizo la comparación :"If tabla(0) = Me.Seleccion_codigo Then" para que el valor seleccionado del combobox sea el mismo en la columna (0) de la tabla "Tabla_Existencia_de_Material" y reflejar la cantidad que corresponde a ese código en el control "Cantidad_Inicial", es un poco complicado, pero espero haber sido lo mas claro posible.

Tengo access 2013

1 respuesta

Respuesta
1

¿Y no te es más sencillo usar la función DLookUp()?

Si entendí bien tu pregunta, te debería funcionar:

Private Sub Seleccion_codigo_Click()
dim miSeleccion as Variant
miSeleccion=Me.Seleccion_codigo
If Not IsNUll(miSeleccion) Then
Me.Cantidad_Inicial = DLookUp("Cantidad","Tabla_Existencia_de_Material","Codigo=" & Me.Seleccion_codigo.Column(2))
End Sub

Lo probaré y te comento.

Gracias por responder.

Estimado Sveinbjorn El Rojo, me da error de sintaxis, falta operador en la expresión de consulta, ¿Me ayudas con el error?

Saludos,

Sí, como no.

Te explico los argumentos de la función, por si me equivoqué en algún nombre:

El primero "Campo", es el nombre del campo en que que está el valor que quieres obtener.

El segundo "Tabla_Existencia_de_Material" es la tabla en al que está el campo anterior.

El tercero "Codigo=" & Me.Seleccion_codigo.Column(2) es la condición para obtener el valor. En este caso sería que el campo "Codigo" de la tabla "Tabla_Existencia_de_Material" sea igual que la tercera columna (la primera columna tiene el indice 0) del cuadro combinado. Además, este código implica que el campo "Codigo" es de tipo numérico.

A ver si así logras identificar dónde está el error, o si hay alguna suposición equivocada por mi parte, me lo comentas y trato de darte la función exacta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas