Autocompletar campos de formulario desde uno de los cuadros de texto

Tengo una pregunta por si alguien puede tener idea, el caso es que tengo una tabla "LISTADO TRABAJADORES" que contiene NOMBRE, APELLIDOS Y CODIGO DE TRABAJADOR (todos los campos son texto). He creado un formulario "CONTROL DE VACACIONES" para alimentar la tabla de "VACACIONES" referente a dichos trabajadores, que contiene el dato de NOMBRE(texto), APELLIDOS(texto), CODIGO DE TRABAJADOR(texto) Y FECHA INICIO, FECHA FIN (fecha).Para intentar autocompletar los datos de NOMBRE Y APELLIDOS de mi formulario, he ubicado en el evento "después de actualizar" el siguiente código para el cuadro de texto referente a "CODIGO DE TRABAJADOR":

Private Sub CODIGO_DE_TRABAJADOR_AfterUpdate()
If Nz(Me.CODIGO_DE_TRABAJADOR, "") = "" Then
Me.NOMBRE = ""
Me.APELLIDOS = ""
Else
Me.NOMBRE = DLookup("NOMBRE", "LISTADO TRABAJADORES", "CODIGO_DE_TRABAJADOR=" & Me.CODIGO_DE_TRABAJADOR & "")
Me.APELLIDOS = DLookup("APELLIDOS", "LISTADO TRABAJADORES", "CODIGO_DE_TRABAJADOR=" & Me.CODIGO_DE_TRABAJADOR & "")
End If
End Sub

El caso es que "funciona" pero siempre me autocompleta con los mismos datos, es decir no importa el código de trabajador que introduzca que siempre se autocompleta con el mismo nombre y apellidos del trabajador. No tengo mucha idea de programación y simplemente he intentado adaptar el código a mi formulario consiguiéndolo de un hilo similar a este, pero no consigo que vaya bien. Si alguien tiene alguna idea...

1 respuesta

Respuesta
1

Primero, si el campo es Codigo de Trabajador, en el codigo tienes que ponerlo como

...."[codigo de trabajador]='" & me.[codigo de trabajador] & "'")

Es decir apostrofe comillas & y cierra & comillas apostrofe comillas

Muchas gracias por tu respuesta, lo he cambiado pero en texto no me funcionaba así que he pasado el formato del campo de código de trabajador a número y me funciona perfecto con esta estructura(desde cuadro combinado):

Private Sub COMBOTRABAJADORES_AfterUpdate()
NOMBRE = DLookup("NOMBRE", "LISTADO TRABAJADORES", "[CODIGO DE TRABAJADOR]=" & "[CODIGO]")
APELLIDOS = DLookup("APELLIDOS", "LISTADO TRABAJADORES", "[CODIGO DE TRABAJADOR]=" & "[CODIGO]")
End Sub

Donde CODIGO es el anterior nombre del campo CODIGO DE TRABAJADOR de la tabla LISTADO DE TRABAJADORES (me hacía un lío llamando a los campos de la misma forma).  Ahora ya me queda intentar que me salga cuando son campos de texto siguiendo tus indicaciones, no se qué me habré comido pero seguro que es error de novato, muchas gracias de nuevo!!

Cuando un campo o un criterio es texto se usa lo que te dije

textoX=dcount("*","clientes","pais='" & me.pais & "'")

Cuando es numérico se pone

textoX=dcount("*","clientes","Edad=" & me.edad & "")

Cuando el criterio es fecha se pone

TextoX=Dcount("*","clientes","fechanacimiento=#" & me.fecha & "#")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas