En ocasiones, necesitamos buscar información en las tablas de nuestro proyecto, bien sea para realizar un cálculo, comprobar si un dato ya existe o simplemente para cargarlo en un campo de un formulario. Hoy vamos a aprender a utilizar el comando DLookUp de VBA en Access, que nos ayudará en esta tarea.
A continuación, os muestro la sintaxis del mismo,
DLookUp (Expr, Domain, Criteria)
- Expr: Campo que queremos buscar.
- Domain: Tabla en la que queremos buscar.
- Criteria: Criterio de búsqueda.
Voy a poner dos ejemplos para que aprendais a manejar bien este comando.
El primero de ellos, buscará la descripción de un producto en una tabla a partir de su código. Y, a continuación, lo introducirá dentro de un campo del formulario.
Imaginemos que tenemos una tabla llamada "Productos" con los campos "Codigo" y "Descripcion".
Lo que vamos a hacer es usar el comando DLookUp en Access para recuperar la descripción correspondiente al código seleccionado en el campo "Código" de nuestro formulario, e introducirla en otro campo llamado "Elemento".
Para ello, en la pestaña Eventos de la Hoja de Propiedades del campo "Código", seleccionamos Después de actualizar y escribimos el siguiente código,
Form!Elemento = DLookup("Descripcion", "Productos", "Codigo=form!codigo")
Ahora, al seleccionar un código en el desplegable del campo "Código", automáticamente se escribirá su descripción en el campo "Elemento".
En el segundo ejemplo quiero enseñarte cómo comprobar si un dato que estamos introduciendo en un formulario, existe ya en la tabla.
Supongamos que tenemos una tabla llamada "Datos" y que contiene, entre otros, el campo "DNI".
Queremos que nuestro formulario nos avise cuando introduzcamos en el campo "Carnet" un DNI que ya exista en la tabla.
Para ello, en la pestaña Eventos de la Hoja de Propiedades del campo "Carnet", seleccionamos Después de actualizar y escribimos el siguiente código,
existedni = DLookup("[DNI]", "[Datos]", "[DNI]=Form!Carnet")
If Not IsNull(existedni) Then
MsgBox "Ya existe el DNI introducido"
Else
End If
De esta manera, si en la tabla "Datos" y en el campo "Carnet" existe el dato que hemos introducido en el campo "DNI" del formulario, se guardará en la variable existedni.
Ahora, solo nos quedaría comprobar si dicha variable está vacía o no, para saber si había algún DNI coincidente. Para ello, usamos un condicional, que en caso afirmativo nos mostrará un mensaje de aviso.
Aquí os dejo un enlace donde explico la función msgbox en VBA.
Espero que con estos dos sencillos ejemplos hayas aprendido a utilizar el comando DLookUp de Access para buscar información en tablas. Las aplicaciones que tiene son muchas como has visto.
Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.
Hasta la próxima.
Si te ha servido y quieres donar
Descarga el archivo del ejemplo
Últimas publicaciones
0 comentarios