Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta sobre fechas (https://www.clubdelphi.com/foros/showthread.php?t=4519)

Novás 18-10-2003 11:35:57

Consulta sobre fechas
 
Hola a todos:

Mi problema es el siguiente:

Trabajo con una base de datos en Paradox 7 y tengo la conexión realizada con BDE...

Tengo una tabla denominada FacturasRecibidas.db con un campo Fecha de tipo Date. La consulta que deseo realizar es una consulta que contabilice todas las facturas del año actual para así asignar el número de factura correspondiente al mismo.

La consulta que yo tengo escrita es:

Select count(IdFacturaRecibida) as Total from FacturasRecibidas.db where datepart(yyyy,Fecha)=datepart(yyyy,Date())

Cuando ejecuto esta consulta me devuelve el siguiente error:

Invalid use of keyword.
Token: Date())
Line number:1

¿Que estoy haciendo mal?...

Nota:
El campo IdFacturaRecibida es autonumérico y lo utilizo para diferencias una factura de otra dado que la base de datos almacenará el historial de todas las facturas recibidas.


Muchísimas gracias por adelantado.

marcoszorrilla 18-10-2003 13:58:32

Para empezar Paradox carece de la instrucción DatePart, en su lugar tienes que utilizar:

Extract(Year from MiCampoFecha)

Segundo tampoco deja incorporar dentro de su SQL la sentencia Date, por lo que el año lo tendrás que cargar en una variable, por ejemplo de tipo entero antes de construir el SQL, que podría quedar más o menos así:
Código:

procedure TForm1.Button1Click(Sender: TObject);
var
Actual:Integer;
begin
Actual:=2002;
Q1.Close;
Q1.Sql.Clear;
Q1.Sql.Add('Select Count(numero) from Factura');
Q1.Sql.Add('Where Extract(Year from Fecha) = '+QuotedStr(IntToStr(Actual)) );
Q1.Open;
end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 02:27:31.

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