Access - duda enorme con el DLookup() en Access

 
Vista:

duda enorme con el DLookup() en Access

Publicado por Jhonathan (6 intervenciones) el 03/02/2013 05:38:23
Hola, Necesito ayuda. Estoy usando el DLookup(), para buscar una cadena en una tabla especifica, pero necesito que no detecte el texto exacto, si no que detecte si contiene ese texto como parte de una cadena. no se si me explico.

Me.txtImporte = DLookup("Importe", "T_Articulos", "Codigo='" & sCodigo & "'")

pero quiero tener como resultado el equivalente a "*sCodigo*"

Espero pronto alguien pueda ayudarme. estoy en apuros
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

duda enorme con el DLookup() en Access

Publicado por Jhonathan (6 intervenciones) el 03/02/2013 16:10:35
No me funciono, no genera error, pero no encuentra nada. La instrucción exacta que estoy manejando es esta:

Me.NUMERO_DE_SOLICITUD = DLookup("Numero", "ORD_Solicitudes", "Descripcion = '*" & Cadena_Descripción & "*'")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

duda enorme con el DLookup() en Access

Publicado por Neckkito (1157 intervenciones) el 03/02/2013 16:21:02
Me.NUMERO_DE_SOLICITUD = DLookup("Numero", "ORD_Solicitudes", "Descripcion LIKE '*" & Cadena_Descripción & "*'")

Si buscas por similitud debes utilizar el operador LIKE, no el operador aritmético "igual" (=).

El valor que te mostrará será la primera coincidencia que encuentre. Si hay más, pues...

A ver si así te funciona.

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

duda enorme con el DLookup() en Access

Publicado por Jhonathan (6 intervenciones) el 03/02/2013 22:25:36
Excelente, me funciono de maravilla. Como puedo consultarte mas dudas que tengo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

duda enorme con el DLookup() en Access

Publicado por Neckkito (1157 intervenciones) el 03/02/2013 22:32:02
Hola!

Me alegra que te haya funcionado

Puedes lanzar tus consultas en este foro. Si no soy yo habrá otra persona que te conteste. Los "expertos" que contestan en este foro saben mucho y probablemente te darán respuestas satisfactorias.

Un saludo,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda enorme con el DLookup() en Access

Publicado por zergpc (1 intervención) el 22/01/2015 04:55:04
mi duda es como poner Dbusq con criterios de texto y que haga referencia con el registro de abajo
para numero funciona esto = DLookUp("[MyField]","MyTable","[ID]=Forms![MyForm]![ID] -1 "), pero para texto es con ' ' comillas sencillas pero donde irian para que me arroje el resultado con criterios de texto


este es mi codigo como acomodar las comillas Expr1: DBúsq("[imp]","Tabla1","[ref]= ' " & [referencia] & +1" ' ")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

duda enorme con el DLookup() en Access

Publicado por Neckkito (1157 intervenciones) el 22/01/2015 09:29:25
Hola!

Lo que explicas no tiene sentido para mí. Estás intentando filtrar por una referencia tipo texto, pero como filtro quieres una expresión numérica (porque al sumarle 1 necesariamente -con algún matiz que indico más abajo- debes operar con números). Ahí hay algo que no cuadra.

Si no tuviéramos en cuenta lo anterior tu expresión debería quedar así:

DBúsq("[imp]","Tabla1","[ref]= ' " & [referencia] +1 & "' ")

Si utilizaras VBA lo mejor seria pasar el criterio de filtro a través de una variable, de manera que:

...
nuevaReferencia = referencia+1
DBúsq("[imp]","Tabla1","[ref]= ' " & nuevaReferencia & "' ")
...

E incluso, para ajustarlo mejor a los tipos, podrías hacer antes una conversión de la variable, así:
...
nuevaReferencia = referencia+1 'Suponiento que nuevaReferencia y referencia son numéricos
nuevaReferencia = CStr(nuevaReferencia)
DBúsq("[imp]","Tabla1","[ref]= ' " & nuevaReferencia & "' ")
...

Como observación decir que si referencia es tipo texto y le sumas 1 Access va a detectarlo como numérico y probablemente te deje operar, pero yo no soy partidario de dejar que Access decida por mí. Eso puede funcionar, pero también podría ser que por algún motivo que no se me ocurre ahora te devuelva un error de tipos.

Pero, insisto, como comentaba al principio ahí hay una incongruencia de tipos que hacen que desconozca si la expresión funcionará.

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar