Hallo,
ich habe ein kleines Problem. Ich ordne mit folgendem Code die Einträge in meinem DBGrid:
Delphi-Quellcode:
procedure TForm6.DBGrid1TitleClick(Column: TColumn);
begin
try
sSortColumn := DBGrid1.Columns.Items[Column.Index].FieldName;
if sSortColumn = sOldSortColumn then
begin
if sSortOrder =' DESC ' then sSortOrder := ' ASC ' else sSortOrder := ' DESC ';
end
else
sSortOrder := ' ASC ';
sOldSortColumn := sSortColumn;
Form5.Query.SQL.Text:=Form5.Query.SQL.Text+'ORDER BY '+sSortColumn+sSortOrder;
//ShowMessage(Form5.Query.SQL.Text);
Form5.Query.Open;
except
end;
end;
Den habe ich irgendwo hier aus dem Forum.
Kurze Erklärung:
In Form5 habe ich eine
Query deren Ergebnisse in Form6 in einem DBGrid angezeigt werden.
Wenn man auf eine Spalte im DBGrid klickt wird sie geordnet. Ihr seht ja wie sich die
Query oben zusammen setzt.
Beim ersten mal Sortieren klappt das wunder bar. Beim zweiten mal nicht mehr. Habe mir dann schnell mit ShowMessage alles ausgeben lassen. Und heraus kam das er diesen Teil noch mal hintersetzt:
'ORDER BY '+sSortColumn+sSortOrder
Dann habe ich in einem SELECT zwei mal ORDER BY. Das geht natürlich nicht.
Er hängt mit jedem klick noch mal ein ORDEr BY an. Was kann ich da machen?