Autor Beitrag
LuckyStrike4life
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 196

Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
BeitragVerfasst: Mi 03.12.03 11:19 
Morgen,

mein momentanes Problem:
Ein DBGrid auf nem Form muss sich ordnen. D.h. die Einträge müssen sich nach dem Datum richten.
Das Datum steht in der ersten Spalte 'Datum'.

Das Datum wird immer in der Form TT.MM.JJJJ éingetragen, geht über nen DateTimePicker.

Jetzt ist es wichtig das ich dem Grid sagen kann, das zuerst (sprich: oben) die älteren Daten liegen. Es ist wichtig - da sonst keine Übersicht möglich ist.

Leider ist das Datum in keiner Weise von dem Datum der Einstellung des jeweiligen Datensatzes abhängig, daher hilft mir die normale Ausgabe des Grids nicht.

Help!!

_________________
... ich kann doch nichts ...
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.12.03 11:30 
Man sortiert nicht mit dem DBGrid. Das DBGrid dient lediglich dazu ein Ergebnismenge aus der Datenbank darzustellen. mach eine SQL Abfrage und sortier die.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 03.12.03 11:33 
Titel: Eigenschaft Sort
Hallo!

Sieh Dir mal die Eigenschaft Sort an!

Ein Beispiel für die Verwendung findet sich hier:
delphi.about.com/lib...weekly/aa042203a.htm

Ich arbeite nicht mit DBGrid, daher weiß ich nicht, ob folgende Tips auch dort funktionieren:
1. Evtl. gibt es ein onCompare-Ereignis, wie bei der TListView-Komponente
2. Evtl. gibt es einen Befehl wie AlphaSort oder etwas ähnliches
Wie gesagt, keine Ahnung ob dem so ist... :?:

MfG,
S.J.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.12.03 11:46 
Nein geht alles nicht. das DBGrid ist ein StringGrid mit Datenbankanbindung.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 03.12.03 12:07 
Titel: Aber
Hallo nochmal!

@Luckie: Soweit ich das verstanden habe gibt doch Sort an, welches Feld aus der Datenbank zur Sortierung herangezogen werden soll!

MfG,
S.J.
LuckyStrike4life Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 196

Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
BeitragVerfasst: Mi 03.12.03 12:17 
Luckie hat folgendes geschrieben:
Man sortiert nicht mit dem DBGrid. Das DBGrid dient lediglich dazu ein Ergebnismenge aus der Datenbank darzustellen. mach eine SQL Abfrage und sortier die.
Hm...
könntest du das n wenig genauer erklären.
Ich denke das ich ein Query brauche, liegt auch drauf, aber wie schreib ich jetzt die Anweisung zum sortieren?

Luckie hat folgendes geschrieben:
Nein geht alles nicht. das DBGrid ist ein StringGrid mit Datenbankanbindung.
Also doch nicht?

jaenicke hat folgendes geschrieben:
Hallo!

Sieh Dir mal die Eigenschaft Sort an!

Ein Beispiel für die Verwendung findet sich hier:
delphi.about.com/lib...weekly/aa042203a.htm

Ich arbeite nicht mit DBGrid, daher weiß ich nicht, ob folgende Tips auch dort funktionieren:
1. Evtl. gibt es ein onCompare-Ereignis, wie bei der TListView-Komponente
2. Evtl. gibt es einen Befehl wie AlphaSort oder etwas ähnliches
Wie gesagt, keine Ahnung ob dem so ist...

Okay, die Seite könnte mich weiter bringen, aber die reden immer über ADO Komponenten, z.B. 'ADOQery, ADOTable', bei mir sind das aber alles Datenbankkomponenten.
Na gut, ich werds mal probieren. Danke für den Tipp.

Gibts noch schönere Lösungen? Ich bin gerne bereit n einfacheren Weg zu nehmen ... . Oder wenn jemand eine relativ gute Erklärung hat - wäre mir auch sehr geholfen.

_________________
... ich kann doch nichts ...


Zuletzt bearbeitet von LuckyStrike4life am Mi 03.12.03 12:18, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.12.03 12:17 
Ja, aber letzten Endes wird in der datenbak sortiert und das ergebnis im DBGrid dargestellt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.12.03 12:18 
LuckyStrike4life hat folgendes geschrieben:

Luckie hat folgendes geschrieben:
Nein geht alles nicht. das DBGrid ist ein StringGrid mit Datenbankanbindung.
Also doch nicht?

Ich bezog mich auf die weiteren Vorschläge von jaenicke.
LuckyStrike4life Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 196

Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
BeitragVerfasst: Mi 03.12.03 12:20 
Luckie hat folgendes geschrieben:
LuckyStrike4life hat folgendes geschrieben:

Luckie hat folgendes geschrieben:
Nein geht alles nicht. das DBGrid ist ein StringGrid mit Datenbankanbindung.
Also doch nicht?

Ich bezog mich auf die weiteren Vorschläge von jaenicke.
Aha, also geht doch nur deine Version.

Nun gut, könntest du mir n wenig mit dem Code helfen?

_________________
... ich kann doch nichts ...
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 04.12.03 12:49 
Titel: Zu ADO:
Hallo!

LuckyStrike4life hat geschrieben:
Zitat:

Okay, die Seite könnte mich weiter bringen, aber die reden immer über ADO Komponenten, z.B. 'ADOQery, ADOTable', bei mir sind das aber alles Datenbankkomponenten.


@LuckyStrike4life: ADO ist auch ein Datenbanksystem, es bietet die Möglichkeit auf verschiedene Datenbank-Formate zuzugreifen...

Ciao,
S.J.
LuckyStrike4life Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 196

Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
BeitragVerfasst: Do 04.12.03 12:55 
Okay,
aber mir fehlt die Zeit!
Leider hat sich das Problem noch nicht gelöst - wirklich traurig!

Muss mal alles ausprobieren, Hilfe nehme ich natürlich weiterhin gerne an... . N wenig Codebeispiel, wäre echt gut.

_________________
... ich kann doch nichts ...
LuckyStrike4life Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 196

Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
BeitragVerfasst: Do 04.12.03 16:29 
Könnte das:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from "t:eDienstreisebuch\main.dbf" ORDER BY "DATUM"');
Query1.Active:=True;

funktionieren?
So ganz hauts noch nicht hin, Delphi kompiliert zwar, aber wenn ich auf den Button Click, dann bricht das Programm mit ner Fehlermeldung ab. :cry:

_________________
... ich kann doch nichts ...
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Do 04.12.03 17:03 
was für eine meldung bekommst du denn?

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
LuckyStrike4life Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 196

Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
BeitragVerfasst: Do 04.12.03 17:05 
Diese:
Zitat:
Im Projekt soundso.exe ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung: 'Ungültiges Schlüsselwort
Symbol-String: "DATUM"
Zeilennummer: 1'. Prozeß wurde angehalten. Mit Einzelne ...

_________________
... ich kann doch nichts ...
LuckyStrike4life Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 196

Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
BeitragVerfasst: Do 04.12.03 17:20 
Hab gerade mal den Fehler beseitigt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from "t:eDienstreisebuch\mainDB.dbf" ORDER BY DATUM');
Query1.Active:=True;

Nun gibts keine Fehlermeldung mehr, wenn man auf den Button Clickt, aber der gewünschte Erfolg stellt sich auch nicht ein.
*mist*e!

_________________
... ich kann doch nichts ...