Con la función DLookup podemos buscar un campo de un registro determinado en una tabla específica en Microsoft Access.
Con la función DLookup podemos buscar un campo de un registro determinado en una tabla específica en Microsoft Access, con ésta función nos ahorramos usar engorrosos recordset y de una forma sencilla y eficaz podemos buscar registros.
Su uso en VBA es el siguiente:
DLookup("Nombre_Campo", "Nombre_Tabla", "Citerio_de_búsqueda")
Ejemplos
Buscar un campo numérico de un registro usando como criterio el dato de un cuadro de texto de un formulario, en éste caso buscamos el codigo de un cliente que coincida con el código de un cuadro de texto puesto en un formulario:
Buscar un campo de texto de un registro usando como criterio el dato de un cuadro de texto de un formulario, en éste caso buscamos la dirección de un cliente a partir del nombre del cliente que tenemos en un formulario:
Observar que las comillas varían dependiendo de si buscamos un campo numérico o de texto.
Si el resultado son mas de un registro, se mostrará el primero que coincida con el criterio, de igual manera si no usamos ningún criterio, nos mostrará el primer campo de la tabla seleccionada.
Dejamos los comentarios abiertos por si hay alguna duda.
Comentarios
amalia (no verificado)
Buscar un campo de un registro con DLookUp
Sáb, 26/06/2010 - 20:13Hola. En la expresión (para buscar campos numericos):
DLookup("CodigoCliente", "TablaClientes", ""CodigoCliente = " & Me.CodigoCliente)
Delante del segundo CodigoCliente ¿hay dos comillas dobles?: ""CodigoCliente
A mi así me da error. Y con una sola comilla doble no.
Y confirmar también que en la expresión (para buscar campos de texto), es después del signo = comilla simple, comilla doble & Me.NombreCliente & comilla doble, comilla simple y comilla doble.
gracias
Tronico
Comillas
Dom, 27/06/2010 - 14:47Si, tienes razón, había puesto unas comillas de más en la búsqueda de números. En la búsqueda de texto estaba bien, lo que pasaba era que en el tipo de texto empleado en el post no se apreciaba bien, lo he rectificado para que se aprecien bien las comillas.
Ya está todo rectificado y muchas gracias por el comentario.
Tronico
El criterio de búsqueda es
Mar, 20/07/2010 - 14:45El criterio de búsqueda es opcional
jey_see_098 (no verificado)
access
Lun, 04/07/2011 - 16:18Hola amigo
No se si me puedas ayudar con esto:
Tengo 4 campos CODIGO, DESCRIPCION, ENTRADAS Y SALIDAS en un formulario de access 2003
DESCRIPCION CODIGO
Taza Aries 0102
Taza leo 0103
Taza Tauro 0107
La idea es que cuando yo capture, por ejemplo 0107 automaticamente
busque la descripcion
Ejemplo:
CODIGO DESCRIPCION
0107 "Taza Tauro"
[email protected]
Tronico
Buscar
Lun, 04/07/2011 - 18:49Si lo que quieres es introducir el código en una caja de texto de un formulario y que te de la descripción en otra caja de texto, puedes usar DLookup como se describe en éste artículo, en el evento "despues de actualizar" del código pones:
Me.Descripción = DLookup("DESCRIPCION", "NombreTabla", "CODIGO = " & Me.CODIGO
Gustavo868 (no verificado)
Buscar un campo de un registro con DLookup
Vie, 23/06/2017 - 18:24Hola, quiesiera saber si me pueden ayudar, tengo los siguientes campos en una tabla llamada Empleados, Idempleado, Nombre, Fecha_egreso, Activo (boolean)
hice una busqueda del idempleado con dos criterios, si o si uno es el nombre y el otro puede ser o el campo Activo (que debe ser True) o el campo fecha_egreso que este vacio, esto quiere decir que esta activo. el problema es que no me funciona con ambos criterios juntos:
consuemplid = DLookup("Idempleado", "empleados", _
"Nombre ='" & Me.Nombre & "'" And activo)
consuemplid = DLookup("Idempleado", "empleados", _
"[fecha_egreso] = #" & Fechh & "#" And "Nombre ='" & Me.Nombre & "'")
me podrán ayudar por favor.
Gracias
Fredy celis (no verificado)
Código con error
Jue, 13/06/2019 - 17:19Buenos dias
estoy intentando ejecutar este código, no me genera error pero tampoco lo ejecuta.
Private Sub Codigo_AfterUpdate()
descripcion = DLookup("[Descripcion]", "[Desplegable]", "Codigo=" & "Codigo")
End Sub
sera que me pueden colaborar
gracias
Tronico
Creo que tu sintaxis no es correcta.
Vie, 16/08/2019 - 10:57Creo que tu sintaxis no es correcta, prueba así:
DLookup("Descripcion", "Desplegable", "Codigo= " & Me.Codigo)