PDA

Ver la Versión Completa : Consulta sobre fechas


Novás
18-10-2003, 11:35:57
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í:

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.