Reporte con sentencia sql

Hola, espero q me puedas ayudar te cuento cree un reporte de facturas por cliente sin ningun argumento declarado porque lo queria hacer con una sentencia sql, ya bueno cree mi reporte todo bien ok. Ahora cree en una ventana con 2 opciones (1.- reprote general y 2.- reporte por fechas)si selecciono 1 de debe salir un reporte de todas las facturas emitidas y si selecciono 2 (en la ventana q cree puse 2 sle para ingresar las fechas) debe mostrar solo las facturas en el rango de fechas que puse pero cuando ejecuto me sale un error. Te escribo el codigo y al final el error
datetime fini, ffin
fini=datetime(sle_1.text)
ffin=datetime(sle_2.text)
string ls_where="", ls_sql
if not isnull(fini) and not isnull(ffin) then
ls_where=ls_where + " (femision>=" + string(fini) + "and femision<=" + string(ffin)
end if
if len(ls_where)>0 then
ls_where="where" + right(ls_where,len(ls_where)-1)
end if
ls_sql="select d.nfactura,........from datafactura d, datadetalle dd" + ls_where
message(ls_where,ls_sql)
dw_1.setsqlselect(ls_sql)
dw_1.settransobject(sqlca)
dw_1.retrieve()
---Error---
en la parte donde puse para q me bote el mensaje si selecciono 1 me bota un mensaje asi: select d.factura......from datafactura d, datadetalle dd
pero si selecciono 2 ingresando las fechas me sale asi: select d.factura......from datafactura d, datadetalle dd where femision>=??/??/0000 00:00:00 and femision<=??/??/0000 00:00:00
y despues se sale un mensaje que falta operador :S
Nota: si selecciono 1 no me bota ningún error, el error es cuando quiero hacer el reporte por fechas
Esperando que me ayudes
Atentamente.
MigueL

1 respuesta

Respuesta
1
cambia estos datos y me comentas q me paso
fini=datetime(date(sle_1.text), time('00:00:00'))
ffin=datetime(date(sle_2.text), time('23:00:00'))
Por lo q veo te falta cerra el parentesis
ls_where=ls_where + " ( femision>=" + string(fini) + "and femision<=" + string(ffin) +" )"
Lo Pruebas y me comentas.
select error: SQLSTATE 37000
[microsoft][controlador odbc miscrosoft access] Error de sintaxis (falta operador) en la expresión de consulta '(femision > = 02/04/08 00:00:00 and femision < = 10/06/08 23:00:00)'
Este es el mensaje que me sale :S
Hola, me equivoque estaba bien el código que me diste solo que lo escribí mal.
Gracias solucione mi problema
Atentamente.
MigueL

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas