Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Desconozco la forma en que debiera funcionar tu consulta, pero si precisas acotar por fechas, queda la opción de hacerlo dentro de un procedimiento almacenado que reciba estas como parámetro.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #2  
Antiguo 13-10-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
Estoy continuando por el QrExpr metiendole condiciones en la propiedad Expression, del cual lo hago de la siguiente manera:
Código Delphi [-]
qrExprTotReg.Expression:='IF(ibQueryGral2.VNORMAL > 0.02 ,ibQueryGral2.VNORMAL,0)+IF(ibQueryGral2.V15DIAS > 0.02 ,ibQueryGral2.V15DIAS,0)+IF(ibQueryGral2.V30DIAS > 0.02 ,ibQueryGral2.V30DIAS,0)';
Aqui si me hace el filtro correcto de dejarme en CEROS el campo dentro del QReport, pero si quiero filtrar los que sean menores a -0.02 no me los filtra inclusive me muestra en BLANCO, al cachar el valor que toma me pone lo siguiente :

Wrong Arguments for IF

Y lo hago de la siguiente manera:
Código Delphi [-]
qrExprTotReg.Expression:='
IF(ibQueryGral2.VNORMAL < -0.02,ibQueryGral2.VNORMAL,0)+
IF(ibQueryGral2.V15DIAS < -0.02,ibQueryGral2.V15DIAS,0)+
IF(ibQueryGral2.V30DIAS < -0.02,ibQueryGral2.V30DIAS,0)+
IF(ibQueryGral2.V45DIAS < -0.02,ibQueryGral2.V45DIAS,0)+
IF(ibQueryGral2.V60DIAS < -0.02,ibQueryGral2.V60DIAS,0)+
IF(ibQueryGral2.V75DIAS < -0.02,ibQueryGral2.V75DIAS,0)+
IF(ibQueryGral2.V90MDIAS < -0.02,ibQueryGral2.V90MDIAS,0)';

Si ven, es lo mismo que la anterior con la diferencia que cambio de > 0.02 a < -0.02 no veo el problema.
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King

Última edición por AGAG4 fecha: 13-10-2006 a las 23:49:51.
Responder Con Cita
  #3  
Antiguo 14-10-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
Que cosa más rara, revisando por la web me he encontrado la sintáxis en varias ocasiones y llegan a la misma sintáxis:

If(Condition,True Result, False Result)

Si la Condición es VERDADERA toma el valor True Result y si es FALSO toma el False Result .
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King
Responder Con Cita
  #4  
Antiguo 14-10-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola a todos!

No utilizo QuickReport por ser un producto con muchas fallas, pero independientemente del reporteador que utilices, te aconsejo tener ya en conjuntos de datos todos los datos que necesites imprimir, obteniendo todos ellos mediante una consulta a la base de datos o algunos por medio de campos calculados.

Así, cuando cambies de reporteador, no tendrás que reinventar el código de esas expresiones de impresión.

Si es posible en un data set hágalo en un data set.

Un abrazo expresivo.

Al González.
Responder Con Cita
  #5  
Antiguo 14-10-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
Gracias Alberto, lo tomare muy en cuenta....
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King
Responder Con Cita
  #6  
Antiguo 16-10-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
Siguiendo con las recomendaciones, opte por hacerlo en un proc. almacenado, pero el inconveniente es que este "amigo" no me regresa más de 1 registro dentro de 1 select me marca error multiple rows in singleton select , desgraciadamente no encuentro por donde atacar mi problema, en las Vistas estaría excelente si me aceptaran parametros y en los SP me aceptan parametros pero NO regresan más de 1 registro a la vez, y con respecto al QrExpr no me funciona las condiciones siguiente:
Código Delphi [-]
qrExprTotReg.Expression:='
IF(ibQueryGral2.VNORMAL < -0.02,ibQueryGral2.VNORMAL,0)+
IF(ibQueryGral2.V15DIAS < -0.02,ibQueryGral2.V15DIAS,0)+
IF(ibQueryGral2.V30DIAS < -0.02,ibQueryGral2.V30DIAS,0)+
IF(ibQueryGral2.V45DIAS < -0.02,ibQueryGral2.V45DIAS,0)+
IF(ibQueryGral2.V60DIAS < -0.02,ibQueryGral2.V60DIAS,0)+
IF(ibQueryGral2.V75DIAS < -0.02,ibQueryGral2.V75DIAS,0)+
IF(ibQueryGral2.V90MDIAS < -0.02,ibQueryGral2.V90MDIAS,0)';
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King
Responder Con Cita
  #7  
Antiguo 16-10-2006
Rudi Rudi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Venezuela
Posts: 78
Poder: 24
Rudi Va por buen camino
Hola, eso de que el storeProcedure solo devuelve 1 registro no me suena...

Como hiciste la llamada al procedimiento?

Select * from Nombre_StoreProcedure(param01, param02...)

y en el procedimiento haces la busqueda con:
FOR SELECT XXX FROM XXX WHERE XXX INTO XXX DO BEGIN...END SUSPEND;

Te comento porque yo uso muchos procedimientos, tanto de seleccion como de manipulacion y los de seleccion traen bastante de bastante.

espero haberme explicado y que te oriente un poco
Responder Con Cita
  #8  
Antiguo 16-10-2006
Edgar Perez Edgar Perez is offline
Registrado
 
Registrado: sep 2005
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 9
Poder: 0
Edgar Perez Va por buen camino
Smile Uso De Case Con Dos Subconsultas

PONGO EN NEGRITO LO QUE AGREGUE PARA QUE LO DISTINGAS: /*Select Maestro*/SELECT V.CLAVE,V.NOMBRE,C.CLIENTE,CC.NOMCLI, /*Primer SubConsulta*/CASE WHEN (FUD_ROUND((SELECT COALESCE(SUM(FUD_ROUND(IMPORTE,2)),0) FROM TCARGOS WHERE CAST('12.10.2006' AS DATE) - FECHAMOV <15 AND FECHAMOV<='12.10.2006' AND CARABO = 1 AND CLIENTE = C.CLIENTE AND CVEDOCUM <>'CREM') -/*Segunda SubConsulta*/(SELECT COALESCE(SUM(FUD_ROUND(IMPORTE,2)),0) FROM TABONOS WHERE CAST('12.10.2006' AS DATE) - FECHAFAC <15 AND FECHAMOV<='12.10.2006' AND CARABO = 2 AND CLIENTE = C.CLIENTE ),2)) = 0.010 THEN 0ELSE /*Primer SubConsulta*/(FUD_ROUND((SELECT COALESCE(SUM(FUD_ROUND(IMPORTE,2)),0) FROM TCARGOS WHERE CAST('12.10.2006' AS DATE) - FECHAMOV <15 AND FECHAMOV<='12.10.2006' AND CARABO = 1 AND CLIENTE = C.CLIENTE AND CVEDOCUM <>'CREM') -/*Segunda SubConsulta*/(SELECT COALESCE(SUM(FUD_ROUND(IMPORTE,2)),0) FROM TABONOS WHERE CAST('12.10.2006' AS DATE) - FECHAFAC <15 AND FECHAMOV<='12.10.2006' AND CARABO = 2 AND CLIENTE = C.CLIENTE ),2)) Ya lo probe y si funciona, esto si, habria que ver el rendimiento ......
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Como hacer que LIKE no sea case-sensitive? JuanBCT SQL 3 04-08-2006 21:50:28
Problemas al usar case David OOP 5 28-07-2006 17:14:19
Subconsultas c748a SQL 0 19-04-2005 13:41:23
SubConsultas Carlex SQL 3 05-08-2004 14:23:55
Subconsultas en ORACLE Investment Oracle 4 19-06-2003 00:50:04


La franja horaria es GMT +2. Ahora son las 15:49:05.


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