Thema: Delphi DBGrid Einträge Ordnen

Einzelnen Beitrag anzeigen

Delphi Code Anfänger

Registriert seit: 30. Jan 2008
72 Beiträge
 
#1

DBGrid Einträge Ordnen

  Alt 10. Mär 2008, 20:25
Datenbank: access • Zugriff über: ado
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?
  Mit Zitat antworten Zitat