La Web del Programador: Comunidad de Programadores
 
    Pregunta:  24711 - PROBLEMA CON DLOOKUP
Autor:  Enrique Miranda Estrada
Hola que tal... tengo un pequeño gran problema con el comando DLookup.., Tengo una tabla llamada Detall inputalmacen de la cual deseo jalar un dato desde un formulario ,tengo la siguiente instruccion

Private Sub CALCULOPRECIO_Click()
Dim CALIB As String
Dim VPOC As String, VEAP As String

VPOC = Me.P_OC
VEAP = Me.EAP
CALIB = DLookup("CAL", "DETALL INPUTALMAC", "EAP=VEAP AND POC=VPOC")
Me.PRECIO_USD_REC = CALIB
End Sub

Y me manda el siguiente error:

SE HA PRODUCIDO EL ERROR 2471 EN TIEMPO DE EJECUCION
LA EXPRESION QUE INTRODUJO COMO PARAMETRO DE CONSULTA PRODUJO EL ERROR EL OBJETO NO CONTIENE EL OBJETO DE AUTOMATIZACION VEAP o VPOC

Lo mas curioso que ocupo una instruccion muy similar desde otro formulario donde tengo que jalar datos de una tabla y ahi me lo da sin ningun problema.. Ojala me puedan ayudar por que me estoy volviendo medio loco... trabajo con Access 2000 con Windows 98.

Muchas gracias

  Respuesta:  Julio Cesar Arango Cubillos
Creo que debes mejorar la sintaxis de los parametros.
Por ejemplo, el nombre de la tabla tiene un espacio en blanco, por lo tanto debes encerrar la tabla entre corchetes []

Por otro lado, las viariables VEAP y VPOC son de tipo caracter, entonces la consulta debe reconocer esto.

Intenta esta sintaxis:

dim VEAP as string, VPOC as string, VCRIT as string
VPOC = Me.P_OC
VEAP = Me.EAP
VCRIT = "(EAP='" & VEAP & "' ) and (POC= '" & VPOC & "')"
CALIB = DLookup("CAL", "[DETALL INPUTALMAC]", VCRIT)
Me.PRECIO_USD_REC = CALIB

Observa la secuencia de comillas dobles- comillas simples, deben ir en ese orden.

Si esto no funciona, el problema será otro y requiere de mas detalles.
Espero te sirva
Saludos.