Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-10-2003
Novás Novás is offline
Miembro
 
Registrado: oct 2003
Ubicación: Galicia
Posts: 146
Poder: 21
Novás Va por buen camino
Question 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.
__________________
Hay dos cosas infinitas: el Universo y la estupidez humana. http://www.cybertarjetas.net
Responder Con Cita
  #2  
Antiguo 18-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 21:09:26.


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
Copyright 1996-2007 Club Delphi