
08/03/2006, 19:12
|
| | Fecha de Ingreso: octubre-2004
Mensajes: 25
Antigüedad: 20 años, 6 meses Puntos: 0 | |
Consulta SQL no filtra por fecha Tengo un problema. Necesito filtrar con una fecha de inicio y una fecha final en una consulta SQL, para luego asignarle a un DataReport, pero no filtra los registros que estan dentro de los intervalos.
Tengo problemas en las fecha que son de tipo 02/03/2006 (dia-mes-año), pues obtiene registro del mes de febrero y tambien del mes de marzo.
La base de datos es Acces 2003 y tengo el Visual Basic 6
He intentado cambiando los tipos de datos de Fecha_Inicial y Fecha_Final a Variant, pero resulta igual.
La consulta es asi:
Dim Fecha_Inicial As Date
Dim Fecha_Final As Date
Fecha_Inicial = DateValue(TextFechaInicio.Text)
Fecha_Final = DateValue(TextFechaFinal.Text)
Consulta = "SELECT F.fecha, sum(F.subtotal) as subtotal1,sum(F.Descuento) as Descuento1, sum(F.iva) as IVA1, sum(F.total) as total1 FROM factura as F where F.cancelado= 1 and F.Estado = 'F' and F.fecha between datevalue(?) and datevalue(?) GROUP BY F.fecha"
Commando_Diarios.CommandText = Consulta
'Crea los parametros necesarios
Dim Parametro As Parameter
'Parametro de la fecha inicial del intervalo
Set Parametro = Commando_Diarios.CreateParameter("Fecha_inicio", adDate, adParamInput)
Commando_Diarios.Parameters.Append Parametro
'Parametro de la fecha final del intervalo
Set Parametro = Commando_Diarios.CreateParameter("Fecha_final", adDate, adParamInput)
Commando_Diarios.Parameters.Append Parametro
'Dejar un version preparada en el servidor
Commando_Diarios.Prepared = True
Commando_Diarios.Parameters.Item("Fecha_inicio") = DateValue(Fecha_Inicial)
Commando_Diarios.Parameters.Item("Fecha_final") = DateValue(Fecha_Final)
Set Tabla_reporte = New ADODB.Recordset
Set Tabla_reporte = Commando_Diarios.Execute
Set rep.DataSource = Tabla_reporte
rep.show |