![]() |
Datenbank: mdb • Zugriff über: ado
Datensätze im DBGrid sortieren
Hallo, mit folgender procedure will ich die Datensätze
in einem DBGrid sortieren:
Delphi-Quellcode:
nach einem Click passiert auch was, allerdings ist nicht
procedure TForm4.bagridTitleClick(Column: TColumn);
begin with artikel do begin Close; SQL.Clear; SQL.Text:='SELECT * FROM basisart ORDER BY :LI1 ASC'; Prepared:=True; Parameters.FindParam('LI1').Value:=Column.FieldName; Open; end; end; ersichtlich was er sortiert hat. Jedenfalls nicht das auf das ich geklickt habe. Nach einem 2. klick passiert garnichts mehr... Ist irgendwas falsch am Code, oder muss an der Kompo noch eine Eigenschaft eingestellt werden? Grüße |
Re: Datensätze im DBGrid sortieren
Parameter dürfen nur Werte ersetzen, keine Spaltennamen. Baue es so um:
Delphi-Quellcode:
procedure TForm4.bagridTitleClick(Column: TColumn);
begin with artikel do begin Close; // SQL.Clear; //unnötig, da eh der Text neu gesetzt wird!!! SQL.Text:='SELECT * FROM basisart ORDER BY ['+Column.FieldName+'] ASC'; Open; end; end; |
Re: Datensätze im DBGrid sortieren
Perfekt! Danke !!!
|
Re: Datensätze im DBGrid sortieren
mir ist da noch was eingefallen;)
Falls der Benutzer trotz Umsortierung auf demselben Datensatz bleiben will/soll, dann solltest Du zuvor den PK einlesen und nach der Abfrage wieder darauf ein Locate machen. |
Re: Datensätze im DBGrid sortieren
Schon mal TADOTable und die Eigenschaft 'IndexFieldNames' probiert?
oder eine TADOQuery, einen TProvider und ein TClientDataset, das kann auch sortieren. Vorteil: Man belastet das DBMS nicht. |
Re: Datensätze im DBGrid sortieren
Zitat:
ich nehme an du meinst den private key?! Wie muss man dies machen, in den Speicher einlesen, also in eine variable packen? |
Re: Datensätze im DBGrid sortieren
eigentlich den PRIMARY KEY.
Je nach Datentyp in etwa so:
Delphi-Quellcode:
var
id: integer; begin //... id:=query.fieldbyname('id').asinteger; query.DisableControls; query.close; query.sql.text:= ... query.open; query.locate('id',id,[]); query.EnableControls; //... end; |
Re: Datensätze im DBGrid sortieren
Alles klar, vielen Dank!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz