Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #29  
Antiguo 21-09-2004
aurafern aurafern is offline
Miembro
 
Registrado: dic 2003
Posts: 34
Poder: 0
aurafern Va por buen camino
Hice todo lo que me dijiste, pero nada que funciona lo de la fecha:

Si le quito el filtro de la fecha funciona el SP.

La cadena se construyó así:

Código SQL [-]
SELECT CAST(SUM(e.DEBITO-e.CREDITO) AS DOUBLE PRECISION) AS SALDO,
e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE,
e.numero_cruce, d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR
FROM CUENTAS_POR_TERCERO e , cuentas_por_tercero d where e.ID_EMPRESA_CRUCE=d.ID_EMPRESA
and e.ID_SUCURSAL_CRUCE=d.ID_SUCURSAL AND E.CUOTA_CRUCE=D.CUOTA and e.ID_TIPO_DOC_CRUCE=
 d.id_tipo_doc and e.numero_cruce=d.numero AND ('21-SEP-2004' - D.VENCIMIENTO) >= -9999 AND
  ('21-SEP-2004' - D.VENCIMIENTO) <= 9999 GROUP BY e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE,
  e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE, e.numero_cruce, d.fecha, d.vencimiento,e.id_tercero,
  e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR having SUM(e.DEBITO-e.CREDITO)<>0

y funciona la sql_ins construida. Pero en el procedimiento sigue sin funcionar,


Ahora, En el IBConsole:

Noté, que si tomo la consulta y copio de allí la parte que tiene que ver con pfecha.....

Código SQL [-]

 AND ('21-SEP-2004' - D.VENCIMIENTO) >= -9999 AND
  ('21-SEP-2004' - D.VENCIMIENTO) <= 9999


y la pego en le procedimiento en el lugar correspondiente aparece así

Código SQL [-]

 AND ('21-SEP-2004' - D.VENCIMIENTO) >= -9999 AND
  ('21-SEP-2004' - D.VENCIMIENTO) <= 9999

Lo que creo es que no arma bien la fecha, por eso me sale column unknown SEP, pero, la he cambiado de n modos para corregir este error y casi que de todos los modos que pruebo me arroja "General SQL error, expression evaluation not supported."

Creo que de pronto sigo pasando mal los parametros aunque ya he probado todas las combinaciones que he podido:

desde delphi vienen asi:
Código Delphi [-]
query2.close;
query2.ParamByName('empresa').AsString:=' AND E.ID_EMPRESA=1 ';
query2.ParamByName('sucursal').AsString:=' AND E.ID_SUCURSAL=1 ';
Query2.ParamByName('modelo').AsiNTEGER:=4;
Query2.ParamByName('no_rango').AsInteger:=4;
query2.ParamByName('PFECHA').AsDateTIME:= int(mdFECHA.AsDateTime);
query2.open;

y en el procedimiento aparecen asi:

Código SQL [-]
 EMPRESA VARCHAR(100),
  SUCURSAL VARCHAR(100),
  MODELO INTEGER,
  NO_RANGOS INTEGER,
  PFECHA TIMESTAMP

la consulta problema es:

Código SQL [-]
P_DATA_D = ' AND (''' || cast(:PFECHA as varchar(20)) || ''' - D.VENCIMIENTO) >= ' ||ESDE;
 P_DATA_H = ' AND (''' || cast(:PFECHA as varchar(20)) || ''' - D.VENCIMIENTO) >= ' ||:HASTA;

SQL_INS= 'SELECT CAST(SUM(e.DEBITO-e.CREDITO) AS DOUBLE PRECISION) AS SALDO, e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE, e.numero_cruce, ';
SQL_INS=SQL_INS ||' d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR FROM CUENTAS_POR_TERCERO e , cuentas_por_tercero d ';
SQL_INS=SQL_INS ||' where e.ID_EMPRESA_CRUCE=d.ID_EMPRESA and e.ID_SUCURSAL_CRUCE=d.ID_SUCURSAL AND E.CUOTA_CRUCE=D.CUOTA ';
SQL_INS=SQL_INS ||' and e.ID_TIPO_DOC_CRUCE= d.id_tipo_doc and e.numero_cruce=d.numero ' ||:EMPRESA ||:SUCURSAL;
SQL_INS=SQL_INS ||_DATA_D ||:P_DATA_H;
SQL_INS=SQL_INS ||' GROUP BY e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE, ';
SQL_INS=SQL_INS ||' e.numero_cruce, d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR ';
SQL_INS=SQL_INS ||' having SUM(e.DEBITO-e.CREDITO)<>0 ';
FOR EXECUTE STATEMENT SQL_INS
into :saldo,:id_auxiliar,:id_empresa,:id_sucursal,:id_tipo,:numero,:fecha_DOC,:vencimiento,:id_tercero,:i  d_sucursal_tercero, :ID_VENDEDOR

Saludos!!

Última edición por aurafern fecha: 21-09-2004 a las 17:53:30.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:25:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi