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

Tema cerradobusqueda con patron

 Responder Responder Página  12>
Autor
Mensaje
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Tema: busqueda con patron
    Enviado: 27/Octubre/2021 a las 18:54
Buenas tardes, otra vez recurro a vosotros porque no doy con la solucion a mi problema.
Estoy intentando hacer una busqueda de valores coincidentes en un campo de una tabla con los datos que introduzco en una variable.
He hecho una consulta y me funciona:
SELECT [NIF O DNI]
FROM [CLIENTES T]
WHERE [DNI] Like "*" & [NIF O DNI] & "*" And [NIF O DNI]<>"";
El DNI es la variable.
Mi idea es que si hago un registro nuevo y hay uno parecido, porque tuve un problema en el campo dni (se me borraron el ultimo y primer caracter), lo detecte.
Ejemplo:
55555555  registro antiguo
55555555T registro nuevo.
Lo intento con vba pero a la hora de poner el comodin o comodines me salta este error:


El codigo es el siguiente:
DLookup("[NIF O DNI]", "[CLIENTES T]", " '" & s & "'" & "Like *[NIF O DNI]")


S es la variable.

Muchas gracias.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 28/Octubre/2021 a las 12:09
Hola!

¿Usas formulario para introdcir los registros?.
¿El campo DNI donde lo tienes?.
Un Saludo.
Arriba
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Enviado: 28/Octubre/2021 a las 15:02
Hola.
Si uso un formulario para los registros.
El campo (DNI o CIF), está en una tabla llamada clientes T
Muchas gracias.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 28/Octubre/2021 a las 17:20
Hola!

Hay varias formas de hacer lo que necesitas, y de hecho hay un ejemplo muy detallado en este foro en la sección () del compañera VIMIPAS.
Tus Funciones Favoritas & Aportaciones & Artí­culos.

- Para hacerlo con una consulta que tienes creada en criterios del campo (NIF DNI) haces referencia al control de buscar que tienes en el formulario.
Supongamos que el campo se llama (Busca) en un formulario Continuo (Frm_Buscar).
- Este formulario su origen del registro es la consulta que aindicaste en tu mensaje.
- La consulta en vista de diseño y en criterio del campo (NIF DNI) pones Like "*" & Forms![Frm_Buscar]![Busca] & "*".
- La consulta quedaría así:-
SELECT [NIF O DNI]
FROM [CLIENTES T]
WHERE [NIF O DNI] Like "*" & Forms![Frm_Buscar]![Busca] & "*"

- En el formulario en vista diesño, en propiedades del campo (Busca) en eventos seleccionas el evento al cambiar te lleva a a la vista de VBA y escribes
Me.Requery.

Te dejo el enlace de un video en YouTube que explica como se hace todo en VBA y podras descargar ele jemplo. https://www.youtube.com/watch?v=ZvMa4sJB0_I

Editado por mounir - 28/Octubre/2021 a las 17:28
Un Saludo.
Arriba
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Enviado: 28/Octubre/2021 a las 19:52
Muchas gracias.
Lo pruebo y te digo algo.
Un saludo.
Arriba
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Enviado: 30/Octubre/2021 a las 21:50
Buenas noches.
Gracias mounir por darme la idea.
Al final lo he solucionado creando una consulta con el código que puse en el primer Post y creando también un listbox, donde cargo la consulta.
A partir de ahí ya hago el condicional.
No es la forma más elegante que me hubiese gustado, pero me sirve.
Me he quedado con la duda de porque con la función Dlookup me arroja el error.
Si se pudiese hacer con el uso de esa función sería perfecto que me ayudarán.
Sino doy por solucionado el tema.
Muchas gracias.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 30/Octubre/2021 a las 23:12
Hola!

Creo que la Función DLookUp tan sólo devuelve un único valor.
Un Saludo.
Arriba
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Enviado: 01/Noviembre/2021 a las 10:01
Buenos dias, se que las funciones solo devuelven un valor.
eso no seria inconveniente aunque haya mas valores.
me conformo con el primer valor de la busqueda, el caso es hacerla funcionar.
si le quito el caracter comodin funciona, pero la necesito con los asteriscos.
Si se puede bien, sino me conformo con la consulta.

Muchas gracias de nuevo.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14027
Enlace directo a este mensaje Enviado: 01/Noviembre/2021 a las 20:53
Dlookup("....", "...", "[NIF O DNI] Like '*" & Me.S & "*'")
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Enviado: 02/Noviembre/2021 a las 11:30
Publicado originalmente por Mihura Mihura escribió:

Dlookup("....", "...", "[NIF O DNI] Like '*" & Me.S & "*'")


Hola.
Asi funciona, pero necesito que el patron sea el campo [nif o dni]..aqui es donde tengo el problema de error de sintaxis.

Muchas gracias.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14746
Enlace directo a este mensaje Enviado: 02/Noviembre/2021 a las 11:37
Algo se me escapa...

¿Cómo se llama el campo de la tabla CLIENTES T?
Xavi, un minyó de Terrassa

Mi web
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14027
Enlace directo a este mensaje Enviado: 02/Noviembre/2021 a las 11:48
Dlookup("....", "...", "'" & Me.S & "' Like '*[NIF O DNI]*'")

Otra cosa es que te de los resultados esperados
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Enviado: 02/Noviembre/2021 a las 12:50
Publicado originalmente por xavi xavi escribió:

Algo se me escapa...

¿Cómo se llama el campo de la tabla CLIENTES T?


Hola xavi.

El campo es [nif o dni], el mismo que tengo que usar como patron.

La idea es que si yo tengo en la tabla [clientes t] en el campo [nif o dni], por ejemplo:
125125
y busco 0125125t

la funcion me devuelva 125125

Muchas gracias.
Arriba
toldeman Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 15/Noviembre/2007
Estado: Sin conexión
Puntos: 445
Enlace directo a este mensaje Enviado: 02/Noviembre/2021 a las 12:51
Publicado originalmente por Mihura Mihura escribió:

Dlookup("....", "...", "'" & Me.S & "' Like '*[NIF O DNI]*'")

Otra cosa es que te de los resultados esperados

Muchas gracias por contestar.
La he probado y me devuelve null.
La ideas es lo que he contestado a xavi.
Un saludo.
Arriba
Juanmasp Ver desplegable
Habitual
Habitual


Unido: 21/Abril/2006
Estado: Sin conexión
Puntos: 118
Enlace directo a este mensaje Enviado: 02/Noviembre/2021 a las 14:44
Hola, creo que así te funcionaría

DLookup("[NIF O DNI]", "[CLIENTES T]", " '" & s & "' Like '*' & [NIF O DNI] & '*'")

Si dentro de la cadena del Like hay Corchetes, los trata como texto opcional  A[BC]D  sería ABD o ACD nunca como un campo de tabla.

Saludos.
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable