Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Urgente!!! Problema con Consulta SQL (https://www.clubdelphi.com/foros/showthread.php?t=9949)

PaLaSaca 06-05-2004 15:36:56

Urgente!!! Problema con Consulta SQL
 
Tengo un problema con esta consulta.
Realizo esta consulta de 3 tablas para listar los datos en un report desde Delphi y me sale el error: ''La instrucció SELECT incluye una palabra reservada, le falta un argumento o está mal escrito o bien los signos de puntuación no son correctos.''
En canvio si la hago desde access mediante vista SQL cambiando solo el parametro (:Codi) por un numero y luego cargo la consulta de access en un TADO Table y la ejecuto no se produce ningun error y el report funciona bien.
Aquí está el código que uso desde delphi 5.0 para crear la consulta.
Utilizo una BD con Access.

/code
var
Consulta: string;
begin
Consulta:= (lo que hay debajo)
'SELECT [DetallCurses].Dorsal,Participants.Cognoms,Participants.Nom,Last([Pas Controls].[Temps Acumulat]) AS [Temps Final]'+
'LAST([Pas Controls].[Velocitat Mitjana]) AS [Velocitat Final],[Detall Curses].[Codi Cursa]'+
'FROM (Participants INNER JOIN (Curses INNER JOIN [Detall Curses] ON Curses.[Codi Cursa] = [Detall Curses].[Codi Cursa])ON Participants.[Codi Participant] = [Detall Curses].[Codi Participant])'+
'INNER JOIN [Pas Controls] ON [Detall Curses].[Codi Detall Cursa] = [Pas Controls].[Codi Detall Cursa]'+
'GROUP BY [Detall Curses].Dorsal,Participants.Cognoms,Participants.Nom,[Detall Curses].[Codi Cursa]'+
'HAVING ((([Detall Curses].[Codi Cursa]) = :Codi))ORDER BY Last([Pas Controls].[Temps Acumulat])';
Modul.Informes.Close;
Modul.Informes.SQL.Clear;
Modul.Informes.SQL.Add(Consulta);
Modul.Informes.Parameters.ParamByName('Codi').Value:=Edit1.Text;
Modul.Informes.Open;
While not Modul.Informes.Eof do
begin
Classificacio_Final.DataSet:=Modul.Informes;
Classificacio_Final.Dorsal.DataSet:=Modul.Informes;
Classificacio_Final.Dorsal.DataField:='Dorsal';
Classificacio_Final.Cognoms.DataSet:=Modul.Informes;
Classificacio_Final.Cognoms.DataField:='Cognoms';
Classificacio_Final.Nom.DataSet:=Modul.Informes;
Classificacio_Final.Nom.DataField:='Nom';
Classificacio_Final.Temps.DataSet:=Modul.Informes;
Classificacio_Final.Temps.DataField:='Temps Final';
Classificacio_Final.Velocitat.DataSet:=Modul.Informes;
Classificacio_Final.Velocitat.DataField:='Velocitat Final';
Modul.Informes.Next;
end;
Classificacio_Final.Preview;
end;
code/
Sabriais decir porque falla esto? La consulta está bien hecha? Alguna solucion?
Gracias de antemano.

roman 06-05-2004 16:50:29

PaLaSaca

En lugar de encerrar el código entre /code y code / enciérralo entre [ code ] y [ /code ] (sin espacios entre code y los corchetes) También puedes usar [ delphi ] [ /delphi ] para que el código quede con coloreado de sintaxis.

// Saludos

jachguate 06-05-2004 19:56:50

con respecto del título de tu mensaje... te recomiendo la lectura de la guia de estilo de los foros (es urgente), donde está bien explicado porque no debes usar palabras como Urgente, o similares.

hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 12:29:57.

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