Entwickler-Ecke

Datenbanken - Nach Zahlen bzw. Alphabet sortieren


jann - Fr 10.10.03 08:41
Titel: Nach Zahlen bzw. Alphabet sortieren
HI

habe folgendes problem:
Ich habe eine bestehende Access Datenbank in der daten mit vortlaufender Registriernummer gespeichert sind. Die daten stehen aber nicht alle nach regestriernummer geortnet hintereinander. Es soll aber so sein wenn ich einen datensatzt über seine registriernummer suche dass vor und hinter diesem satzt die vortlaufende nummern stehen.

das gleiche wäre dann nach namen. also das vor und hinter dem gewünschten datensatzt die daten mit gleichem anfangsbuchstaben stehen

danke schon mal für eure bemühungen

gruß jann


smiegel - Fr 10.10.03 09:07

Hallo,

mit einer Query. Stichwort: ORDER BY [Feldname]


jann - Fr 10.10.03 09:42

auf die idee bin ich auch schon gekommen aber wie binde ich das ein??


jann - Fr 10.10.03 09:48

sollte filleicht noch erwähnen das mit adotable arbeite


jann - Fr 10.10.03 10:10

so bekomms jetzt in access sortiert :


Quelltext
1:
2:
3:
SELECT Name, REGNR
FROM BEHAEL
ORDER BY REGNR;


aber wie binde ich den String in Delphi ein??

Moderiert von user profile iconKlabautermann: Code-Tags hinzugefügt.


smiegel - Fr 10.10.03 10:48

Hallo,

anstatt einer ADOTable nimmst Du eine ADOQuery. Die hat die Eigenschaft SQL.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
...
with Query1 do
begin
  SQL.Clear;
  SQL.Add('SELECT Name, REGNR');
  SQL.Add('FROM BEHAEL');
  SQL.Add('ORDER BY REGNR');
  Open;
end// with Query1
...


jann - Fr 10.10.03 11:03

wie bindet man son query ein ?
der sagt mir die verbindung ist in ordnung
aber wenn ich ihn dann auf true stellen will sagt der mir:

ADOQery1: Missing SQL property


kann man das nicht auch mit einem table zusammen basteln?


grayfox - Sa 11.10.03 02:45

hallo jann!

Zitat:
ADOQery1: Missing SQL property


na überleg mal. was kann die fehlermeldung bedeuten?
und danach schau im OI, ob du 'SQL' findest und klick auf die [...] neben der eingabezeile.
was siehst du? richtig, ein leeres memofeld. dort könntest zb hineinschreiben:


Delphi-Quelltext
1:
select * from dein_tabellenname                    

und schon siehst du was ;)
warum muss man ins SQL-property etwas eintragen? naja, eine query ist eine abfrage und kein table. daher musst du ihr bekanntgeben, was du sehen willst.

wenn du nicht alle felder deiner tabelle anzeigen willst, öffnest du den feldeditor --> doppelklick auf die aoAdoQuery klickst im editor auf die rechte maus-taste und fügst die in frage kommenden felder hinzu.

das einbinden einer query funktioniert analog zu einem table. einfach in der datasource den dataset auf aoADOQuery stellen.

mfg, stefan


Delete - Sa 11.10.03 15:06

Es ist nicht unbedingt erforderlich, dass du SQL dafür nutzt. Erstelle einfach einen Index mit

Quelltext
1:
ADOTable1.IndexFieldNames:=Feld_Name                    

Schon sind deine Einträge alphabetisch sortiert.


jann - Mo 13.10.03 09:54

danke für eure hilfe
habs hinbekommen


Delete - Mo 13.10.03 15:36

Immer wieder.