Inicio > Power Builder > database > reporte con setencia sql

reporte con setencia sql

Experto:
Usuario:
Fecha: 26/06/2008
Valoración: (4,00 sobre 5) Categoría: Power Builder
24/06/2008
skillz, usuario preguntando en Power Builder
Usuario
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 seleciono 1 no me bota ningun error, el error es cuando quiero hacer el reporte por fechas
 
Esperando que me ayudes
 
Atte.
 
MigueL
 
24/06/2008
skillz, experto respondiendo en Power Builder
Experto
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,
24/06/2008
skillz, usuario preguntando en Power Builder
Usuario
select error: SQLSTATE 37000
[microsoft][controlador odbc miscrosoft access] error de sintaxis (falta operador) en la expresion 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
26/06/2008
skillz, usuario preguntando en Power Builder
Usuario
Hola, me equivoque estaba bien el codigo que me diste solo que lo escribi mal.
gracias solucione mi problema
 
Atte.
 
MigueL
Enlaces patrocinados