FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Hacer preguntas en un query
Hola a todos
Espero puedan ayudarme Trabajo con delphi 6 y firebird 1.0 Deseo hacer una consulta que permita obtener el siguiente resultado Cliente 15 30 45 60 total 00001 10 2.00 0 41.00 63.00 Es decir que tengo una tabla con fecha de vencimiento y un valor a cancelar, lo que pretendo es hacer un analizis de la cartera por cobrar medido por los dias que tiene vencida una factura Espero puedan ayudarme, tengo una librerias llamadas Rfunc que tienen una instruccion Iif Pero no me sirve para este caso lo mejor seria que hubiera una funcion Iif que permita poner un BeetW y comparar los 2 valores y ver cual encaja en cada uno Ejemplo X = Variable (Resulta de restar la fecha del sistema con el vencimiento , da un valor positivo si esta vencido o negativo si no lo esta If x Betwee( 1 ,15) Then 15 dias If x Betwee( 1 ,30) Then 30 dias De antemano Gracias por su ayuda
__________________
IVAND |
#2
|
|||
|
|||
Una vez calculado los dias de vencido realiza una consulta del tipo TRANSFORM (instruccion de SQL) algo parecido a esto:
TRANSFORM Sum(Totales.Cantidad) AS SumaDeCantidad SELECT Totales.Clave FROM Totales GROUP BY Totales.Clave PIVOT Totales.Tipo In ('E/S','NV','FAC'); Poniendo como pivotes tus valores. no lo he probado me imagino que puede funcionar, proba y despues me cuentas. |
#3
|
||||
|
||||
Lamentablemente el operador TRANSFORM no está disponible en Interbase y Firebird 1
Aunque puedes actualizar a Firebird 1.5 y utilizar el operador CASE : CASE WHEN X BETWEEN 1 AND 15 THEN 15 WHEN X BETWEEN 15 AND 30 THEN 30 END Finalmente, si no puedes actualizar a la nueva versión de Firebird, puedes crear una función UDF que haga ese calculo. Podrás utilizar esa función dentro de tus consultas. Aquí tienes un documento sobre como crear una UDF en Delphi http://www.ibphoenix.com/a478.htm Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
|