|
Responder
|
| Autor | |
Nomada
Colaborador
Unido: 03/Julio/2011 Localización: España Estado: Sin conexión Puntos: 1759 |
Tema: DLookupEnviado: 25/Octubre/2019 a las 13:05 |
|
Buenas. Cómo puedo tomar datos de varios campos al utilizar la función DLookup, en caso de que la búsqueda sea positiva? Código: Dim vApellidos, vNombre As String, vNum As String vApellidos = DLookup("CApellidos", "T_Clientes", "CLI_NUM = '" & vNum & "'") Si encuentra un vNum en el campo CLI_NUM, al igual que la variable vApellidos toma el valor del campo CApellidos, deseo que vNombre tome el valor del campo correspondiente (CNombre) del registro encontrado. Gracias.
|
|
![]() |
|
prga
Moderador
Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3535 |
Enviado: 25/Octubre/2019 a las 13:55 |
|
Hola.
Prueba con algo parecido a: valor=DLookup("[CApellidos] & '_' & [vnombre]", "T_Clientes", "CLI_NUM = '" & vNum & "'") y después se sacan los valores con split Escrito de memoria, asi es que.... Espero que ayude a resolver la duda Ya comentas. Un saludo a todos |
|
![]() |
|
Nomada
Colaborador
Unido: 03/Julio/2011 Localización: España Estado: Sin conexión Puntos: 1759 |
Enviado: 28/Octubre/2019 a las 13:48 |
|
Gracias prga. Creo que no me he explicado bien. Veamos si me aclaro: Si la variable vNum encuentra un valor igual al campo CLI_NUM de la tabla T_Clientes, vApellidos toma al valor de ese cliente del campo CApellidos. Ya que vNum existe, quiero que la variable vNombre tome el valor del campo CNombre de ese mismo registro. Es decir, existen dos campos de los cuales quiero tomar el valor siempre que vNum encuentre un valor. Saludos.
|
|
![]() |
|
prga
Moderador
Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3535 |
Enviado: 28/Octubre/2019 a las 14:34 |
|
Hola
Creo que cometí una 'errata' en la escritura del nombre del campo nombre. Quedaría: valor=DLookup("[CApellidos] & '_' & [CNombre]", "T_Clientes", "CLI_NUM = '" & vNum & "'") Con lo anterior, sí vNum existe, la variable valor quedaría como: "Apellidos_nombre" y ahí es donde entra la función split( o cualquier otra similar) para sacar los apellidos y el nombre por separado, con lo que ya tendríamos el Vnombre y el Vapellidos Espero que ayude a resolver la duda Ya comentas. Un saludo a todos
|
|
![]() |
|
teogf
Asiduo
Unido: 09/Febrero/2007 Localización: España Estado: Sin conexión Puntos: 464 |
Enviado: 28/Octubre/2019 a las 14:35 |
|
Hola Nomada,
En esta ayuda viene una muy buena explicacion. https://docs.microsoft.com/es-es/office/vba/api/access.application.dlookup Creo que lo que tu buscas es algo así: ' Use two fields from a single record.
variable = DLookup("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7") Saludos,
|
|
![]() |
|
VIMIPAS
Colaborador
Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 29/Octubre/2019 a las 10:42 |
|
Buenos días.
Nomada, ¿estás seguro de que el campo CLI_NUM es un campo de Texto?... Si es correcto no hay nada que objetar pues estás usando la ' comilla simple para la búsqueda. Pero como lo habitual es que sea numérico es por lo que me atrevo a sugerirlo, ya que de ser así, tal vez no estés encontrado lo que existe en la variable vNum. Míralo a ver. Saludos.
|
|
|
Gracias
|
|
![]() |
|
Nomada
Colaborador
Unido: 03/Julio/2011 Localización: España Estado: Sin conexión Puntos: 1759 |
Enviado: 29/Octubre/2019 a las 14:13 |
|
Muchas gracias a los dos. Perfecto prga, ahora si lo he entendido y funciona bien. Este hilo se puede cerrar satisfactoriamente. Saludos a todos.
|
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |