Auto Rellenar Campos En Formulario

Buenas, Como Podría Auto Rellenar Cuadro De Textos En Un Formulario: Me Explico tengo una tabla (clientes), con id, nombre, apellido esta tabla contiene datos, y tengo otra tabla [Ventas] (es la del formulario y donde ingreso los datos) esta contiene el id, el nombre, y los apellido de la tabla Clientes (que se deben rellenar igual) como hago si al ingresar el id me genere el nombre y el apellido correcto según el registro que tengo en la tabla clientes) en el cuadro respectivo o viceversa en el formulario
Ejemplo lo tengo así:
Formulario
Clientes:   l___ID___l----- este campo es oculto pero es requisito llenarlo por la relación
Nombre   l______________l
Apellido   l______________l

Tabla clientes

Id nombre apellido
1 juan Gaviria
2 Daniel Restrepo
Al poner nombre y apellidos me auto genere el id especifico en el campo id
Al poner el id auto genere nombre y apellidos especifico en el campo correspondiente

1 respuesta

Respuesta
1
Supondré que los nombres de los controles del formulario se llaman igual que los campos en las tablas. También supondré que el campo Id es numérico. Si no fuera así la instrucción SQL para el recordset tendría una variante en puntuaciones.
En el primer control del formulario donde escribes el id, en el evento "Al perder el enfoque" escribes:
Dim BBDD As Database
Dim TCLIENTES As Recordset
Set BBDD=CurrentDb
Set TCLIENTES=BBDD.OpenRecordset (" SELECT * FROM CLIENTES WHERE ID = " & Id )
If Not TCLIENTES.EOF Then
   Nombre = TCLIENTES!Nombre
   Apellidos= TCLIENTES!Apellidos 
   TCLIENTES.Close
  ' Aquí pudieras colocar una instrucción para enviar el enfoque al campo que le sigue al apellido, por ejemplo: Nombredelcontrol. SetFocus
End If
Luego en el campo nombre y en el campo apellidos (ambos del formulario), en el evento al perder el enfoque, puedes colocar el siguiente código:
Dim BBDD As Database
Dim TCLIENTES As Recordset
If nombre<>"" and apellidos<>"" and id<>"" Then
Set BBDD=CurrentDb
Set TCLIENTES=BBDD.OpenRecordset (" SELECT * FROM CLIENTES WHERE NOMBRE = ' " & nombre & "' AND APELLIDOS = ' " & apellidos & " ' " )
If Not TCLIENTES.EOF Then
   Id = TCLIENTES!ID
   TCLIENTES. Close
  ' Aquí pudieras colocar una instrucción para enviar el enfoque al campo que le sigue al apellido, por ejemplo: Nombredelcontrol. SetFocus
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas