Quiero entrar en la condición WHERE de una query SQL la condición que la fecha sea menor que una que he entrado en una Maskedbox.
En otras palabras, quiero obtener de la tabla prestamos un Recordset con los registros que cumplan unas condiciones; plataforma, inversor y fecha a partir de la cual se hizo la operación.
Estos valores de condición los he escrito fuera en unas textbox y la fecha en una MaskEdBox. Luego he escrto en el código
plataf = Texbox1.text
inver = Textbox2.text
fecha1 = MaskEdBox1.text
Rs.Open "SELECT * FROM prestamos WHERE plataforma = """ & plataf & """ AND inversores = """ & inver & """ AND fechainic =....., Cn, ...
Para la condición de fechainic he hecho un montón de tentativas, por ejemplo
fechainic <= ' " & Format(MaskEdBox1, "mm/dd/yyyy")
Ninguna de ellas me ha funcionado. Recibo el mensaje "Data type mismatch in criteria expresión." La fecha (fechainic) está en Access 2007 como fecha/hora, fecha corta 01/01/2010. Pregunto ¿Cómo debo entrar la variable (fechainic) a la query SQL? Las demás condiciones funcionan perfectamente. Gracias.
Para fechas tienes que usar el BETWEEN
Ejemplo:
fechainic BETWEEN #" & Format(MaskEdBox1, "MM/dd/yyyy") & "#
pasame todo el codigo que usas para ver y tratar de ayudarte
Printea la query y la ejecutas directamente en el ACCESS, así haces un "debug" de los parametros ingresados.