Recordset con filtro de fechas
Sigo con problemas para filtrar por fechas en el siguiente recordset, me da que el proveedor no admite las propiedades.
Ya hice todos los cambios que me dijeron pero no funcion贸 ninguno.
Aca va otra vez el cod.:
Dim vFechaD As Variant
Dim vFechaH As Variant
vFechaD = "#" & Format(FechaD, "mm/dd/yyyy") & "#"
vFechaH = "#" & Format(FechaH, "mm/dd/yyyy") & "#"
Set CX = New ADODB.Connection
propert = "DSN=Visual FoxPro Tables;UID=;SourceDB=" & gPathDB & ";SourceType=DBF;Exclusive=No;BackgroundFetch=S铆;Collate=Machine;"
CX.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=" & propert
'Abrir el objeto Connection
CX.Open
'Crear el Recordset
Set RS1 = New ADODB.Recordset
sT = ""
sT = " SELECT GVA14.CUIT CUIT,GVA12.Fecha_emis Fecha_emis,"
sT = sT & " GVA42.T_comp T_comp,GVA42.N_comp N_comp, "
sT = sT & " GVA12.Importe Importe, GVA42.Importe Imp_ret"
sT = sT & " FROM ((GVA12 INNER JOIN GVA42 "
sT = sT & " ON GVA12.T_comp = GVA42.T_comp AND "
sT = sT & " GVA12.N_comp = GVA42.N_comp)"
sT = sT & " LEFT JOIN GVA14 "
sT = sT & " ON GVA12.Cod_client = GVA14.Cod_client)"
sT = sT & " WHERE GVA12.Fecha_emis between vFechaD"
sT = sT & " and vFechaH "
Muchas gracias!!
Salu2,
Cecilia.
Ya hice todos los cambios que me dijeron pero no funcion贸 ninguno.
Aca va otra vez el cod.:
Dim vFechaD As Variant
Dim vFechaH As Variant
vFechaD = "#" & Format(FechaD, "mm/dd/yyyy") & "#"
vFechaH = "#" & Format(FechaH, "mm/dd/yyyy") & "#"
Set CX = New ADODB.Connection
propert = "DSN=Visual FoxPro Tables;UID=;SourceDB=" & gPathDB & ";SourceType=DBF;Exclusive=No;BackgroundFetch=S铆;Collate=Machine;"
CX.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=" & propert
'Abrir el objeto Connection
CX.Open
'Crear el Recordset
Set RS1 = New ADODB.Recordset
sT = ""
sT = " SELECT GVA14.CUIT CUIT,GVA12.Fecha_emis Fecha_emis,"
sT = sT & " GVA42.T_comp T_comp,GVA42.N_comp N_comp, "
sT = sT & " GVA12.Importe Importe, GVA42.Importe Imp_ret"
sT = sT & " FROM ((GVA12 INNER JOIN GVA42 "
sT = sT & " ON GVA12.T_comp = GVA42.T_comp AND "
sT = sT & " GVA12.N_comp = GVA42.N_comp)"
sT = sT & " LEFT JOIN GVA14 "
sT = sT & " ON GVA12.Cod_client = GVA14.Cod_client)"
sT = sT & " WHERE GVA12.Fecha_emis between vFechaD"
sT = sT & " and vFechaH "
Muchas gracias!!
Salu2,
Cecilia.
Hola lo primero que veo y no se si sera el error es q en las Variant VFechaD y VFechaH metes un format de las mismas variables pero sin la V delante supongo que seran otras variables o TextBox asi que ahi no ira el error, luego si eso no funciona es porque a veces el visual es muy pijo y las fechas las introduce mejor en el formato ingles ("mm/dd/yyyy") pero si trabajas con tablas en un programa version espa帽ol tal vez no lo reconozca ( que tp creo) ,y solo como consejo las variables si sabes cual va a ser siempre su uso es mejor definirlas como Date ya que variant come mas recursos (no se notaria nada en 2 variables) pero eso solo es como consejo. Por ultimo, Q es sT??
Un Saludo y perdona porque he puesto mucho y posiblemente ninguna solucion :P
EnR
Un Saludo y perdona porque he puesto mucho y posiblemente ninguna solucion :P
EnR
creo que el error es queno estas pasando los valores de las variable de fecha:
sT = sT & " WHERE GVA12.Fecha_emis between vFechaD"
sT = sT & " and vFechaH "
debiera ser
sT = sT & " WHERE GVA12.Fecha_emis between " & vFechaD & " and " & " vFechaH & ";"
el ";" final es opcional dependiendo la bd.
si esto no funciona puedes revisar el valor de la variable sT para verificar si generas una sentencia SQL v谩lida.
saludos
sT = sT & " WHERE GVA12.Fecha_emis between vFechaD"
sT = sT & " and vFechaH "
debiera ser
sT = sT & " WHERE GVA12.Fecha_emis between " & vFechaD & " and " & " vFechaH & ";"
el ";" final es opcional dependiendo la bd.
si esto no funciona puedes revisar el valor de la variable sT para verificar si generas una sentencia SQL v谩lida.
saludos
Acabo de revisar tu codigo y creo haber dado con el problema:
sT = sT & " WHERE GVA12.Fecha_emis between vFechaD"
sT = sT & " and vFechaH "
Cambialo por :
sT = sT & " WHERE GVA12.Fecha_emis between " & vFechaD
sT = sT & " and " & vFechaH
Si se soluciona avisa Un Saludo
EnR
sT = sT & " WHERE GVA12.Fecha_emis between vFechaD"
sT = sT & " and vFechaH "
Cambialo por :
sT = sT & " WHERE GVA12.Fecha_emis between " & vFechaD
sT = sT & " and " & vFechaH
Si se soluciona avisa Un Saludo
EnR
