Búsqueda con cuadro combinados

Estoy dando mis primeros pasos en access y estoy creando una base de datos de clientes que compran vehículos y se me ha presentado un problemilla, he creado un Formulario (Formulario1) en base a una consulta (Titulares_Consulta) de 3 tablas diferentes (Clientes - Vehículos - Titulares), el formulario lo he creado con el asistente y ahora le he agregado un cuadro combinado como para buscar clientes por el apellido, al seleccionar un cliente me muestra en el mismo formulario varios datos (nombre, dni, patente, marca, modelo, etc), si hay un solo cliente con un mismo apellido lo hace a la perfección, el problema se me presenta cuando existe un mismo cliente que ha comprado más de un vehículo, en el listado del cuadro combinado me muestra todos los vehículos que compro pero al querer seleccionar cualquiera de ellos me muestra solamente los datos del primero de la lista, por ejemplo, así se ve mi cuadro combinado:
Apellido nombre patente marca
García Guido aaa111 fiat
García Guido bbb222 citroen
García Guido ccc333 bmw
Al seleccionar el vehículo citroen en el formulario tendría que mostrarme todos los datos de ese vehículo pero me muestra los datos del vehículo fiat o sea el primer registro. Espero haber sido claro y que puedas darme una mano.

1 respuesta

Respuesta
1
Lo que tienes que definir es un recordsset y hacer las búsquedas de los registros con el recordset.
Hola amigo gracias por tu respuesta, me gustaría saber si puedes explicarme un poquito mejor tu respuesta, no lo tomes a mal, pero como te había comentado anteriormente, estoy dando mis primeros pasos en access y la verdad es que no entiendo muy bien, supongo que debe ser una respuesta de gran ayuda para alguien que ya tiene algún conocimiento en access, de todos modos si sabes de algún curso que este bien explicado también te lo agradecería, así de paso no te hago perder tiempo. Muchas gracias nuevamente y espero tu respuesta. Saludos.
He estado buscando con la ayuda de access y he colocado este código al cuadro combinado:
Sub Cuadro_combinado19_AfterUpdate()
   Dim rst As DAO.Recordset
    Dim strSearchName As String
    Set rst = Me.Recordset
    strSearchName = CStr(Me!APELLIDOYNOMBRES)
    rst.FindFirst "Cuadro_combinado19 = " & strSearchName
    If rst.NoMatch Then
        MsgBox "Record not found"
    End If
    rst.Close
End Sub
pero me sale error 3077 error de sintaxis (falta operador) en la expresion, hago click en depurar y me remarca esta linea
  rst.FindFirst " Cuadro_combinado19 = " & strSearchName
podras ayudarme... gracias
Existen muchos manuales gratuitos por internet que te explican como funcionar con redorset.
Hola, ok buscare a ver si encuentro algún manual, de todos modos podrías revisar el código que te puse más arriba porque no encuentro a donde esta el error. Gracias nuevamente y saludos.
Te recomiendo que hagas lo siguiente:
La línea rst.FindFirst "Cuadro_combinado19 = " & strSearchName
Defines una variable mas.. Dim criterio as string
Y luego asignas
criterio = "Cuadro_combinado19 = " & strSearchName
Y luego haces
rst.FindFirst criterio..
Te reescribo todo el codigo y a ver si te funciona....
Sub Cuadro_combinado19_AfterUpdate()
    Dim rst As DAO.Recordset
    Dim criterio, strSearchName As String
    Set rst = Me.Recordset
    strSearchName = CStr(Me!APELLIDOYNOMBRES)
    criterio = "Cuadro_combinado19 = " & strSearchName
    rst.FindFirst criterio
    If rst.NoMatch Then
        MsgBox "Record not found"
    End If
    rst.Close
End Sub
Ya me contaras...
Hola experto disculpa la demora en responder y finalizar la respuesta pero por cuestiones de trabajo he estado de viaje. Muchas gracias por tu respuesta. Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas