Sortierung im DB-Grid mit Klick auf den Spaltennamen
-
- Beiträge: 52
- Registriert: Do 10. Dez 2015, 20:09
- OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
- CPU-Target: 64 bit
- Wohnort: Wo es warm ist
Sortierung im DB-Grid mit Klick auf den Spaltennamen
Ich arbeite mit Linux Mint 18.3 / Lazarus 1.8.0 / MySql / ZEOS
Ich habe eine funktionierende Windows-Delphi 2010-Anwendung womit ich die Vermietung einiger Ferienhäuser manage (eher Hobby) !
Seit einigen Jahren benutze ich Linux Mint und schleppe in einer Oracle Box das Windows 7 mit um mein Programm verwenden zu können. Vor 2 Jahren hatte ich schon mal angefangen, das Programm in Lazarus zu portieren, was aber sehr schleppend vor sich ging. Jetzt will ich die Sache aber durchziehen und bitte um eure Hilfe. Ich bin nicht mehr der Jüngste, muss aber etwas Sinnvolles machen . . .
An folgendem Delphi-Code scheitert die Kompilierung: Bei 'Indexname' ist Schluss !
Wie kann ich das zum Laufen kriegen?
Ich habe eine funktionierende Windows-Delphi 2010-Anwendung womit ich die Vermietung einiger Ferienhäuser manage (eher Hobby) !
Seit einigen Jahren benutze ich Linux Mint und schleppe in einer Oracle Box das Windows 7 mit um mein Programm verwenden zu können. Vor 2 Jahren hatte ich schon mal angefangen, das Programm in Lazarus zu portieren, was aber sehr schleppend vor sich ging. Jetzt will ich die Sache aber durchziehen und bitte um eure Hilfe. Ich bin nicht mehr der Jüngste, muss aber etwas Sinnvolles machen . . .
An folgendem Delphi-Code scheitert die Kompilierung: Bei 'Indexname' ist Schluss !
Wie kann ich das zum Laufen kriegen?
- Dateianhänge
-
- Spaltensortierung Code Ausschnitt.png (50.08 KiB) 3186 mal betrachtet
-
- Beiträge: 289
- Registriert: Mo 24. Aug 2020, 14:16
- OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
- CPU-Target: i386
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Compilermeldung 'identifier idents no menber'? Und was genau ist 'ZQy_buchen'?
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Schaut nach einer Query aus, vermutlich mit einer Desktopdatenbank. Dort gibt es mehrere Indexe zum aussuchen, je nach Index werden die Daten dann anders sortiert.
Das Problem ist einmal ob die aktuellen DB Komponenten in Delphi mit den aktuell verwendeten in Lazarus kompatibel sind. Ich sage mal - nein.
Eine Möglichkeit ist, das ganze in Delphi mal auf Zeos umzustellen. Oder den Code zu analysieren und umzubauen.
Nur die Informationen sind zu spärlich (Welche DB ?). Laut Fehlermeldung hat Zeos nicht die Eigenschaft IndexName und wenn, dann bezweifle ich das ein einfaches First ausreicht um die Daten umzusortieren. Man muss sich damit beschäftigen wie Zeos das gleiche machen kann.
Das Problem ist einmal ob die aktuellen DB Komponenten in Delphi mit den aktuell verwendeten in Lazarus kompatibel sind. Ich sage mal - nein.
Eine Möglichkeit ist, das ganze in Delphi mal auf Zeos umzustellen. Oder den Code zu analysieren und umzubauen.
Nur die Informationen sind zu spärlich (Welche DB ?). Laut Fehlermeldung hat Zeos nicht die Eigenschaft IndexName und wenn, dann bezweifle ich das ein einfaches First ausreicht um die Daten umzusortieren. Man muss sich damit beschäftigen wie Zeos das gleiche machen kann.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 31
- Registriert: So 14. Aug 2011, 09:11
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Falls 'ZQy_buchen' eine Zeos-Query ist:
dort gibt es kein 'Indexname' sondern IndexFieldNames' [oder 'SortedFields'].
Für eine lokale Sortierung per TitleClick sollte 'SortedFields' das richtige sein.
dort gibt es kein 'Indexname' sondern IndexFieldNames' [oder 'SortedFields'].
Für eine lokale Sortierung per TitleClick sollte 'SortedFields' das richtige sein.
-
- Beiträge: 52
- Registriert: Do 10. Dez 2015, 20:09
- OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
- CPU-Target: 64 bit
- Wohnort: Wo es warm ist
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Hallo, liebe Antworter ! Ich bedanke mich für Euer Engagement . . .
. . . und der Winner ist: TraumTraenzerDieter.
Geht einwandfrei mit 'SortedFields'.
Macht Spaß, wenn mal wieder eine Hürde genommen ist.
A la prochaine !
. . . und der Winner ist: TraumTraenzerDieter.
Geht einwandfrei mit 'SortedFields'.
Macht Spaß, wenn mal wieder eine Hürde genommen ist.
A la prochaine !
- gladio
- Beiträge: 223
- Registriert: Sa 21. Jun 2014, 06:15
- OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Kannst das auch über ein SQL-Statement lösen:
(können Schreibfehler drin sein !)
Hast du auch einen Belegungsplan realisiert?
Würde mich interessieren.
Habe auch so ein Mini-PMS programmiert. (Property Management System)
Code: Alles auswählen
procedure TRechWahlForm.DBGrid1TitleClick(Column: TColumn);
var Pos:LongInt;
SQLText: String;
aufsteigend: boolean;
begin
aufsteigend:= true; //oder false
if aufsteigend then
begin
SQLText:= '.....'
+' ORDER BY '+Column.FieldName
+' ASC'
end
else
begin
SQLText:= '.....'
+' ORDER BY '+Column.FieldName
+' DESC'
end;
aufsteigend:= not aufsteigend;
begin
Pos := ZQDatenquelleFeld_ID.AsInteger; //aktuelle Position merken
ZQDatenquelle.DisableControls;
try
ZQDatenquelle.Close;
ZQDatenquelle.SQL.Clear;
ZQDatenquelle.SQL.Text:= SQLText; //jetzt sortieren
ZDatenquelle.open;
finally
ZQDatenquelle.EnableControls;
ZDatenquelle.Locate('Feld_ID', Pos,[]); //zur gemerkten Position gehen
end;
end;
end;
Hast du auch einen Belegungsplan realisiert?
Würde mich interessieren.
Habe auch so ein Mini-PMS programmiert. (Property Management System)
-
- Beiträge: 52
- Registriert: Do 10. Dez 2015, 20:09
- OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
- CPU-Target: 64 bit
- Wohnort: Wo es warm ist
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Hallo gladio,
ja, ich habe auch einen Belegungsplan realisiert. Schau mal auf 'www.belezy.eu'. Es ist eine Kombination von Delphi-Code, Datenbank und PostScript.
ja, ich habe auch einen Belegungsplan realisiert. Schau mal auf 'www.belezy.eu'. Es ist eine Kombination von Delphi-Code, Datenbank und PostScript.
-
- Beiträge: 52
- Registriert: Do 10. Dez 2015, 20:09
- OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
- CPU-Target: 64 bit
- Wohnort: Wo es warm ist
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Hallo af0815,
danke für deine Antwort.
Eine Möglichkeit ist, das ganze in Delphi mal auf Zeos umzustellen. Oder den Code zu analysieren und umzubauen.
Das würde ich gerne tun. Meine Recherche im Internet hat jedoch keine Ergebnisse in dieser Hinsicht hervor gebracht, Es würde mir ja schon sehr helfen, wenn ich eine Liste der SQL-Befehle von ZEOS hätte. Gibt es sowas?
Gruß Cuci
danke für deine Antwort.
Eine Möglichkeit ist, das ganze in Delphi mal auf Zeos umzustellen. Oder den Code zu analysieren und umzubauen.
Das würde ich gerne tun. Meine Recherche im Internet hat jedoch keine Ergebnisse in dieser Hinsicht hervor gebracht, Es würde mir ja schon sehr helfen, wenn ich eine Liste der SQL-Befehle von ZEOS hätte. Gibt es sowas?
Gruß Cuci
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Zeos verwendet die SQL-Befehle der darunterliegenden DB, sofern sie eine SQL-Datenbank ist. So gesehen gibt es keine eigenen SQL Befehle von ZEOS.
Wenn ich mit MariaDb arbeite, so wird der Dialekt von MariaDB verwendet (oder MySQL), Ebenso der Dialekt von MS-SQL wenn ich den verwende und so weiter.
Ausserem gibt es nicht soviele SQL-Befehle. Allerding die Möglichkeiten eines einfachen SELECT Befehls zu erfassen, kann Jahre dauern
Ist kein Spaß, die meisten wissen nur nicht was man man mit einem Select mit Unterselects, joins, selfjoins und unions in Kombination machen kann. Der Select Befehl selbst ist auf manchen Systemen einer eigen Programmiersprache ebenbürtig.
Wenn ich mit MariaDb arbeite, so wird der Dialekt von MariaDB verwendet (oder MySQL), Ebenso der Dialekt von MS-SQL wenn ich den verwende und so weiter.
Ausserem gibt es nicht soviele SQL-Befehle. Allerding die Möglichkeiten eines einfachen SELECT Befehls zu erfassen, kann Jahre dauern

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 52
- Registriert: Do 10. Dez 2015, 20:09
- OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
- CPU-Target: 64 bit
- Wohnort: Wo es warm ist
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Hallo af0815,
jetzt sehe ich schon klarer! Also MySQL. Leider, oder Gott sei Dank, befinde ich mich in unserer Hütte in der Provence wo der SQL-Ordner nicht vorhanden ist. Aber unter SQL finde ich bestimmt was im Net. Sorry, ich bin halt kein Experte und mache alles so nebenbei. Aber ich bemühe mich, die Hilfen nicht zu sehr zu beanspruchen. Gut's Nächtle - et merci !
Cuci
jetzt sehe ich schon klarer! Also MySQL. Leider, oder Gott sei Dank, befinde ich mich in unserer Hütte in der Provence wo der SQL-Ordner nicht vorhanden ist. Aber unter SQL finde ich bestimmt was im Net. Sorry, ich bin halt kein Experte und mache alles so nebenbei. Aber ich bemühe mich, die Hilfen nicht zu sehr zu beanspruchen. Gut's Nächtle - et merci !
Cuci
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Sortierung im DB-Grid mit Klick auf den Spaltennamen
Das steht im ersten Post:

Daher meine starke Annahme es handelt sich um MySQL (oder den Fork MariaDB)Ich arbeite mit Linux Mint 18.3 / Lazarus 1.8.0 / MySql / ZEOS

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).