DLookup no me funciona correctamente... No se construir correctamente el comando, no lo entiendo.

Tengo una tabla con unos cuantos campos y desde un formulario pretendo mediante un cuadro combinado seleccionar un valor de uno de los campos de la tabla. Luego, al dar click en un botón del formulario, desearía que éste me devolviera por medio de una MsgBox el valor de un campo vecino (misma fila) al valor que seleccioné con el cuadro combinado.

Aquí un esquemita gráfico bien explícito sobre el asunto en cuestión:

Sucede que al presionar el botón "GENERAR" en vez de la MsgBox aparece el siguiente mensaje de error:

Yo creo que estoy armando el código correctamente, ya que hice lo mismo en otro formulario con otra tabla y funciona de maravillas.

Sinceramente he llegado a pensar que no tengo idea sobre como construir el código, me tiene bastante frustrado este comando DLookup, últimamente pienso que debo asumir que a veces funcionará y otras veces no.

Quizás alguien pueda explicarme como construirlo correctamente, por si sirve de ayuda esto es como yo considero que debe ser construido (con sus respectivos operadores y separadores):

DLookup("[Campo que devuelve]", "[Tabla]", "Campo donde busca=" & Elemento que hace la consulta)

1 Respuesta

Respuesta
1

Posiblemente tengas como tipo del cuadro combinado en texto, si es así el comando dlookup tendría que tener la sintaxis Dlookup("[Campo que devuelve]", "Tabla","[Campo de búsqueda]= ' " & tucombo & " ' "), por eso te da el error no coinciden los tipos en la expresión de criterios porque si no pones la comilla simple ( ' ) lo considera numero. Te lo he separado para que se vea bien la comilla simple.

Parmma Nick

Estimado, la buena noticia es que ¡ha funcionado! el problema es que estoy un tanto más confundido enterándome que existen dos tipos de sintaxis:

DLookup("[Campo que devuelve]", "[Tabla]", "Campo de búsqueda=" & Mi Combo)

y

Dlookup("[Campo que devuelve]", "Tabla","[Campo de búsqueda]= ' " & Mi Combo & " ' ")

La pregunta del millón es ¿Cuándo debo utilizar cada una?

Mencionaste algo de que el Cuadro Combinado que estoy utilizando tiene atributos de texto y podía ser lo que estaba causando el inconveniente, ¿cómo puedo corroborar que ésto sea así?

Mil gracias por esta gran ayuda que me estás dando!

depende del tipo de datos que estes utilizando, en el caso del cuadro combinado de tu consulta depende de la tabla donde tienes el campo comb_s_m que imagino sera de tipo texto, en dicha tabla lo puedes mirar en la vista diseño, en esos casos hay que utilizar la expresion de dlookup("[campoamostrar]","tablaabuscar","[criteriodebusqueda]= ' "& comb_s_m & " ' ", si fuese de tipo numero el criterio de busqueda la comilla simple no habria que ponerla entonces seria: dlookup("[campoamostrar]","tablaabuscar","[criteriodebusqueda]= " & comb_s_m, y si fuese el criterio de tipo fecha habria que utilizar: dlookup("[campoamostrar]","tablaabuscar","[criteriodebusqueda]= #" & comb_s_m "#".

Ya nos dirás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas