Ver Mensaje Individual
  #17  
Antiguo 15-09-2004
aurafern aurafern is offline
Miembro
 
Registrado: dic 2003
Posts: 34
Reputación: 0
aurafern Va por buen camino
Bueno de todos modos muchas gracias por dedicar tiempo a los n problemas que se me presentan, en mi camino por el aprendizaje de delphi y Firebird

Después de dar muchas vueltas probando la alternativa de utilizar
EXECUTE STETEMENT. Y revisando con un compañero la sintaxis tanto en delphi como en firebird, no logramos hacer uso de esta característica que me ayudaría a solucionar muchos problemas.


Solucioné el problema utilizando like y pasando solo el valor del parametro

Código Delphi [-]
query2.close;
query2.ParamByName('empresa').AsString:='%';;
query2.ParamByName('sucursal').AsString:='%';
Query2.ParamByName('modelo').AsInteger:=4;
Query2.ParamByName('no_rango').AsInteger:=4;
query2.ParamByName('PFECHA').AsDateTime:=int(mdFECHA.AsDateTime);
query2.ParamByName('PVENDEDOR').AsString:='1';
query2.ParamByName('PZONA').AsString:='%';
query2.ParamByName('PCUENTA').AsString:='%';
query2.ParamByName('PTERCERO').AsString:='1';
query2.ParamByName('Psuc_TERCERO').AsString:='%';
query2.ParamByName('Psuc_VENDEDOR').AsString:='%';
query2.Open;


Código SQL [-]
FOR SELECT SUM(e.DEBITO-e.CREDITO) AS SALDO, e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE, e.numero_cruce, E.CUOTA_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 e.ID_EMPRESA like(:EMPRESA) AND E.ID_SUCURSAL like(:SUCURSAL)
and (fecha - d.vencimiento)>=:desde and (fecha - d.vencimiento)<=:hasta and e.id_tercero like(tercero) AND E.ID_VENDEDOR LIKE (:PVENDEDOR) AND E.ID_SUC_VENDEDOR LIKE (:PSUC_VENDEDOR)
and e.id_sucursal_tercero like (suc_tercero) and e.id_auxiliar like (cuenta)
GROUP BY e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE,
e.numero_cruce, E.CUOTA_CRUCE , d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR
having SUM(e.DEBITO-e.CREDITO)<>0
into :saldo,:id_auxiliar,:id_empresa,:id_sucursal,:id_tipo,:numero,:cuota,:fecha_DOC,:vencimiento,:id_ter  cero,:id_sucursal_tercero, :ID_VENDEDOR

Pero no sé que tan eficiente sea el like.

Saludos!!
Responder Con Cita