Error '3464' no coinciden los tipos de datos en la expresión de criterios

Le he dado vueltas, buscado pero no encuentro dónde está el problema ni cuál es la solución:

Necesito obtener el dato:

EPRESTA = DLookup("[PRESTADO]", "[LIBRO]", "[ID] = '" & Me.lstID.Value & "'")
El resultado es tipo Boolean.
Lo que necesito es iniciar el formulario obteniendo estos valores que serán usados en el resto del funcionamiento de dicho formulario.

1 respuesta

Respuesta
1

Si ID, como parece es un número, no le puedes pasar como valor un texto (es decir, te sobran las comillas simples):

EPRESTA = DLookup("[PRESTADO]", "[LIBRO]", "[ID] = " & Me.lstID.Value )

Fantástico. Obtengo el resultado que necesito.
Ahora, sólo a modo de consulta:
¿Me podrías indicar las formas más comunes de su uso?

Los datos de texto van entre comillas simples ('), los de fecha/hora entre almohadillas (#) y el resto directamente.

¿Era eso lo que preguntabas?

¡Exacto!
¿Pero podrías escribirlo en un ejemplo?
Así ya directamente cuando lo necesite lo consulto y lo uso directamente.
Porque es algo que no termino de armar.

Para ser más claro, sintaxis de ejemplo.

Y para finalizar:
Desde un form ¿cómo puedo cambiar el valor de una tabla mediante código?
La tabla no guarda relación con el contenido del form, pero es un cambio consecuente del form.
Puntualmente, se hace un préstamo del libro desde el form. Y debo marcar en la tabla del libro como que ha sido prestado. Lo que intenté, no me guarda el cambio en la tabla y se cierra Access por un fallo.

Ejemplos:

https://support.office.com/es-es/article/Introducci%C3%B3n-a-las-expresiones-5cad6e24-65a3-4a95-82cc-92b4b1bd4b8b 

http://www.accessyexcel.com/access-como-construir-filtros-al-abrir-un-formulario/ 

http://www.mvp-access.es/emilio/como/ConcatenacionCadenas.asp 

La última duda, aquí solo te diré que has de usar (y ejecutar) una SQL de datos anexados (INSERT INTO...), de la que tienes un ejemplo en un enlace de los citados. Si necesitas algo más respecto a esta parte, inicia una nueva pregunta.

¡Gracias! 

¡Igual encontré una forma un poco más simple! Como un subformularios muestra información de la tabla en cuestión, simplemente 'modifico' la opción directamente en ese subformulario aún cuando no se muestra lo que quiero modificar.

Forms![NOMBRE DEL SUBFORMULARIO]![NOMBREDELCAMPO] = Nuevo valor (true, false, 1, 'xyz' etc.)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas