Recordset con filtro de fechas

Cecilia
13 de Julio del 2004
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.

EnR
13 de Julio del 2004
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

Ren?
13 de Julio del 2004
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

EnR
13 de Julio del 2004
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

Berny
13 de Julio del 2004
EnR no seas copión