Búsqueda en cuadro de texto y llenar los demás cuadros de texto del formulario

Tengo un formulario de PRESTAMOS de expedientes en access que tiene 4 cuadros de texto Socio, Código de barras, CAG y Descripción
Y quiero realizar una búsqueda en cualquiera de los cuadros de texto y que en automático me llene los siguientes 3 cuadros de texto EJEMPLO:
Si busco un expediente por Código de barras al dar Enter que busque en mi base de EXPEDIENTES y en automático llene los campos de Socio, CAG y Descripción.

1 respuesta

Respuesta
2

Tendrías que aclarar si te refieres a un formulario de búsqueda o a un formulario normal.

1º Vamos a suponer que es un formulario de búsqueda de registros. En el evento después de actualizar del cuadro de texto(aunque personalmente prefiero los combinados, siempre es mejor elegir que escribir) Socio crea un procedimiento de evento y entre Private sub y End Sub puedes poner

me.recordsource="select * from expedientes where socio='" & me.socio & "'"

Es decir, ponme como origen de registros del formulario aquel registro de la tabla Expedientes en que el valor del campo socio sea igual al que acabo de escribir en el cuadro de texto Socio.

2º En el caso de que sea un formulario común y corriente para rellenar registros, en el evento después de actualizar del cuadro de texto Socio tendrías que poner

cag=dlookup("cag","expedientes","socio='" & me.socio & "'")

Descripción=dlookup("descripción","expedientes","socio='" & me.socio & "'")

En los otros cuadros de texto tienes que hacer lo mismo, lógicamente cambiando los nombres de los campos y controles.

He supuesto que en Socio aparece el nombre, si lo que aparece es el número sería

................."socio= " & me.socio & "")

Julián González Cabarcos gracias si mira de echo es un formulario normal, el cual tengo un cuadro combinado que es para el Socio que efectivamente aparece el nombre.
Te comento lo siguiente el sistema tiene mas de 7 mil expedientes....
me parece mejor idea que fuera con cuadros combinados así como me comentas.
por favor serias tan amable de explicarme como por favor.

Lo de los 7000 expedientes no es problema. La pregunta es ¿los registros de la tabla son todos diferentes? Lo digo porque un socio puede tener varios expedientes. Entonces, tanto el me. Recordsource como el Dlookup buscarían el primer registro que cumpliera la condición de socio. Por ejemplo, supongamos que tengo la tabla Clientes

Cada nombre de cliente es distinto y cada nombre de contacto es distinto. Estos si puedo usarlos para "filtrar"

Elijo el marcado en negro y 

Igualmente, si lo que elijo es el nombre del contacto

Me pone

El problema radicaría en que, por ejemplo, si pongo un combinado en Pais, registros con Alemania hay muchos, y si eligiera este país, siempre saldría el primero, Alfred

El código del formulario, más bien de los combinados sería en este caso 

Private Sub NombreCliente_AfterUpdate()
Pais = DLookup("pais", "clientes", "nombrecliente='" & Me.NombreCliente & "'")
Ciudad = DLookup("ciudad", "clientes", "nombrecliente='" & Me.NombreCliente & "'")
NombreContacto = DLookup("nombrecontacto", "clientes", "nombrecliente='" & Me.NombreCliente & "'")
End Sub
Private Sub NombreContacto_AfterUpdate()
Pais = DLookup("pais", "clientes", "nombrecontacto='" & Me.NombreContacto & "'")
Ciudad = DLookup("ciudad", "clientes", "nombrecontacto='" & Me.NombreContacto & "'")
NombreCliente = DLookup("nombrecliente", "clientes", "nombrecontacto='" & Me.NombreContacto & "'")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas