¿Cómo hago una consulta entre dos fechas cogidas de dos cuadros de texto?

Tengo esta código que uso para hacer un recordset entre dos fechas y con una serie de parámetros, tal que así:

Dim Fecha1, Fecha2 As Date
Fecha1 = Format(Me.Texto0, "mm-dd-yyyy")
Fecha2 = Format(Me.Texto2, "mm-dd-yyyy")
Dim StrSQL As String
Dim rst As DAO.Recordset
StrSQL = "SELECT tblventa.IdVenta, tblventa.Pagado, * FROM tblventa WHERE (tblventa.Pagado=True) AND (tblventa.NTicket Is Null) AND (estado = 2) AND ([Fecha] between #" & Fecha1 & "# AND #" & Fecha2 & "#") ORDER BY tblventa.Fecha, tblventa.IdVenta"

El caso es que la parte en negrita me da error y no me filtra entre las fechas. ¿Qué estoy haciendo mal?

2 respuestas

Respuesta
1

Varias cosas están mal, primero ha definido Fecha1 y Fecha2 como fecha y les asigna una cadena con Format().

Sobra el * antes de la cláusula FROM. Pruebe con este código

Dim Fecha1, Fecha2 As String
Fecha1 = Format(Me.Texto0, "\#mm\/dd\/yyyy\#")
Fecha2 = Format(Me.Texto2, "\#mm\/dd\/yyyy\#")
Dim StrSQL As String
Dim rst As DAO.Recordset
StrSQL = "SELECT tblventa.IdVenta, tblventa.Pagado, FROM tblventa WHERE (tblventa.Pagado=True)
 AND (tblventa.NTicket Is Null) AND (estado = 2) AND [Fecha] between " & Fecha1 & " AND "  & Fecha2 & " ORDER BY tblventa.Fecha, tblventa.IdVenta
Respuesta

Lo he solucionado, para el que le interese esta sería la sintaxis correcta:

StrSQL = "SELECT tblventa.IdVenta, tblventa.Pagado, * FROM tblventa WHERE (tblventa.Pagado=True) AND (tblventa.NTicket Is Null) AND (tblventa.Estado = 2) AND ([tblVenta.Fecha] between #" & Fecha1 & "# AND #" & Fecha2 & "#) ORDER BY tblventa.Fecha, tblventa.IdVenta"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas