** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - DLookup
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDLookup

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1759
Enlace directo a este mensaje Tema: DLookup
    Enviado: 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.
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3535
Enlace directo a este mensaje 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

Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1759
Enlace directo a este mensaje 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.
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3535
Enlace directo a este mensaje 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
Arriba
teogf Ver desplegable
Asiduo
Asiduo


Unido: 09/Febrero/2007
Localización: España
Estado: Sin conexión
Puntos: 464
Enlace directo a este mensaje Enviado: 28/Octubre/2019 a las 14:35
Hola Nomada,


Creo que lo que tu buscas es algo así:

' Use two fields from a single record. variable = DLookup("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")


Saludos,
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5462
Enlace directo a este mensaje 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
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1759
Enlace directo a este mensaje 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.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable