Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   error en consulta usando MONTH (https://www.clubdelphi.com/foros/showthread.php?t=85495)

aleja 25-03-2014 05:24:19

error en consulta usando MONTH
 
Hola! tanto tiempo... Vuelvo a consultarles, después de haber tratado de solucionar el problema de varias formas sin encontrar la solución
Tengo la siguiente consulta, que funciona muy bien:
Código SQL [-]
SELECT 
  SUM(cuenta_corriente.haber) AS ORDD,
  MONTH(cuenta_corriente.fecha) AS mes
FROM
  cuenta_corriente
  INNER JOIN expensas ON (cuenta_corriente.id_expensa = expensas.id_expensas)
  INNER JOIN unidad ON (cuenta_corriente.id_unidad = unidad.id_unidad)
  INNER JOIN consorcio ON (unidad.id_consorcio = consorcio.id_consorcio)
WHERE
  consorcio.id_consorcio = :ic AND 
  cuenta_corriente.fecha BETWEEN :f1 AND :f2 AND 
  cuenta_corriente.id_transaccion = 1 AND 
  expensas.tipo = 'O' AND 
  cuenta_corriente.fecha <= expensas.fechavenc1 AND 
  MONTH(cuenta_corriente.fecha) = MONTH(expensas.fechavenc1) AND 
  YEAR(cuenta_corriente.fecha) = YEAR(expensas.fechavenc1)
GROUP BY
  MONTH(cuenta_corriente.fecha)
ORDER BY
cuenta_corriente.fecha
lo que hace la consulta es sacar el total de expensas q se pagaron en fecha, osea antes del 1° vencimiento de todos los meses que corresponden entre f1 y f2.
El codigo en Delphi es el siguiente, uso zeos, (con mydac salto el mismo error):
Código Delphi [-]
          DM.qOrdDiaAnual.ParamByName('ic').AsInteger:=dm.qConsorcioid_consorcio.Value;
          DM.qOrdDiaAnual.ParamByName('f1').AsDate:= DTPdesde.Date;
          DM.qOrdDiaAnual.ParamByName('f2').AsDate:= DTPhasta.Date;
          dm.qOrdDiaAnual.Refresh;
El error salta cuando llega al Refresh, me dice q espera q 'mes' sea largeinteger y es integer.
Los campos de la consultas se agregan cuando creo la consulta y luego 'Add all fields', el tipo de dato los pone delphi...
Es un error en la Base? en el compilador? ya nose donde buscar... si me dan algo para empezar les estaré muy agradecida. :D

Neftali [Germán.Estévez] 25-03-2014 10:07:29

Cita:

Empezado por aleja (Mensaje 474307)
Los campos de la consultas se agregan cuando creo la consulta y luego 'Add all fields', el tipo de dato los pone delphi...

Aunque Delphi asigne determinados tipos a los campos según su criterio, no quiere decir que tú a posterior no puedas cambiarlos.

¿Has probado a hacerlo?

aleja 25-03-2014 15:10:36

lo acabo de probar
 
Acabo de probar, lo que me sugeriste, muchas gracias, pero sale exactamente el mismo error...

aleja 25-03-2014 15:17:02

:mad: el campo esta con el dato q pide, pero no lo ve asi... lo ve como integer...
Voy a cambiar la consulta, por una de mes y la ejecutare 12 veces, necesito entregar este trabajo urgente. Pero si alguien sabe de este error se lo agradece.

ecfisa 25-03-2014 19:44:51

Hola aleja.

Te sugiero ampliar la información, especificando con que RDBMS estas trabajando y publicando de forma literal el mensaje de error que estas recibiendo. De ese modo, quienes puedan ayudarte, contarán con mayor cantidad de herramientas para encontrar la solución.

Saludos :)


La franja horaria es GMT +2. Ahora son las 11:36:47.

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