Access VBA uso de DLookup con criterios

En otras ocasiones he usado la funcion DLookup y para hacer consultas de un dato evitando el uso de un recordset. Pero en otras ocasiones me da problemas para usarlo a la hora de definir el criterio. Pienso que es porque los campos que forman los criterios son de diferente tipo (String o integer).

Dim mm As String, b As String

mm = "M7"

b = DLookup(" Sum(horas) ", "[Plan CalendarioCalculado_Base]", " Maq = " & mm)

des ta manera me da este error. 

Si el criterio los presento así "val( Maq )= " & val(mm) me suma todos los capos de la tabla y también me da error si intento convertirlo los dos campos en un texto.

CStr(Maq) = " &  CStr(mm) 

(Disculpad que el nombre de las tablas y campos lleven espacio. Pero van entre corchetes y lo hice por relacionar objetos a la hora de buscar por el buscador de ACCESS las tbl, consultas y formularios. Ya que no permite agrupar por carpetas)

2 respuestas

Respuesta
2

Dos cosas, si la variable mm va a ser M7 ¿Para qué definirla? Basta con poner

B=dlookup..................,"Maq=""M7""")

Pero si quieres definir la variable s, en todo caso sería

B=DLookup(.............", "Maq like '" & s & "'")

Otra cosa, no sé si habrás puesto las horas como texto, sino es así, la suma de horas no es texto es single o long. Por tanto tendrías que definir b como single, o en todo caso usar Cdate

Respuesta
2

Carlos: Ya que veo que es Texto en ese caso has de poner>>

" Maq = 'M7'" >> o sea Comilla simple M7 comilla simple y comilla doble

Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas