Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Via SQL Access DB Tabelle sortieren und suchen (https://www.delphipraxis.net/61000-via-sql-access-db-tabelle-sortieren-und-suchen.html)

Christian18 15. Jan 2006 16:44

Datenbank: Access • Version: 2000 • Zugriff über: ADO

Via SQL Access DB Tabelle sortieren und suchen
 
Hallo,

ist es möglich eine Tabelle (nach Zahlen oder Alphabetisch) die in einer Access DB vorhanden ist, über einen SQL Befehl zu sortieren ???

MFG Christian18

mikhal 15. Jan 2006 17:00

Re: Via SQL Access DB Tabelle sortieren
 
Die Sortierung kannst du in deinem Select-Statement mit dem Befehl "ORDER BY" vornehmen.

Grüße
Mikhal

Christian18 15. Jan 2006 17:07

Re: Via SQL Access DB Tabelle sortieren
 
Hallo,

erst mal vielen dank für die schnelle hilfe. hast du vieleicht auch ein kleines bsp für mich???

MFG Christian18

r_kerber 15. Jan 2006 17:18

Re: Via SQL Access DB Tabelle sortieren
 
Zitat:

Zitat von Christian18
hast du vieleicht auch ein kleines bsp für mich???

SQL-Code:
SELECT * FROM tabelle ORDER BY spalte

mikhal 15. Jan 2006 17:19

Re: Via SQL Access DB Tabelle sortieren
 
Gegeben ist eine Adress-Tabelle adr_adressen mit folgender Definition:

SQL-Code:
CREATE TABLE adr_adressen(
  adr_id counter,
  adr_name varchar(50),
  adr_strasse varchar(50),
  adr_plz varchar(7),
  adr_ort varchar(50));
Dann kannst du diese Tabelle mit folgendem Select-Statement abgreifen, wobei die Sortierung nach adr_name erfolgt.
SQL-Code:
SELECT adr_id, adr_name, adr_strasse, adr_plz, adr_ort
FROM adr_adressen
ORDER BY adr_name
Willst du die Sortierung umkehren, verwendest ud das Schlüsselwort DESC:
SQL-Code:
ORDER BY adr_name desc
Mit dem Schlüsselwort ASC sortierst du wieder in der gewohnten Reihenfolge (ASC ist die Default-Anweisung und kann daher weggelassen werden. Um nach mehreren Feldern zu sortieren trennst du die einzelnen Feldnamen in der ORDER-BY Klausel durch ein Komma.

Grüße
Mikhal

Christian18 15. Jan 2006 18:21

Re: Via SQL Access DB Tabelle sortieren
 
Hallo,

ich habe folgendes Problem. Wenn ich so sortieren will, wie ihr mir das beschrieben habt, dann passiert nicht. Ich habe es so.
Delphi-Quellcode:
      TADOQuery.Active:=False;
      TADOQuery.SQL.Clear;
      TADOQuery.SQL.Add('Select * From Kunden Order By Name');
      TADOQuery.ExecSQL;
MFG Christian18

omata 15. Jan 2006 18:25

Re: Via SQL Access DB Tabelle sortieren
 
Hallo,

du must deine Query mit Open öffnen.
ExecSQL wird nur für INSERT, UPDATE oder DELETE Anweisungen benutzt (die keine Ergebnismenge zurückliefern)

Beispiel...
Delphi-Quellcode:
var Name:string;
begin
  TADOQuery.SQL.Text:=
    'SELECT *'#13 +
    'FROM Kunden'#13 +
    'ORDER BY Name';

  TADOQuery.Open;
  while not TADOQuery.Eof do begin
   
    Name:=TADOQuery.FieldByName('name').AsString;
    ...
    TADOQuery.Next;
  end;
  TADOQuery.Close;
end;
MfG
Thorsten

tomsel 15. Jan 2006 18:25

Re: Via SQL Access DB Tabelle sortieren
 
Zitat:

Zitat von Christian18
Hallo,

ich habe folgendes Problem. Wenn ich so sortieren will, wie ihr mir das beschrieben habt, dann passiert nicht. Ich habe es so.
Delphi-Quellcode:
      TADOQuery.Active:=False;
      TADOQuery.SQL.Clear;
      TADOQuery.SQL.Add('Select * From Kunden Order By Name');
      TADOQuery.ExecSQL;
MFG Christian18

also, ich kenn mich mit der ADO-Query nicht aus, aber müsste es nicht "Open" heißen stat "ExecSQL" bei select -statements? Execsql wird m.E. nur für Statements ohne Ergebnismengen benutzt (insert etc.). Zumindest ist es bei TIBQuery so.

Christian18 15. Jan 2006 18:30

Re: Via SQL Access DB Tabelle sortieren
 
so funktioniert es aber auch nicht.

hier mein code den ich jetzt geändert habe:

Delphi-Quellcode:
      TADOQuery.SQL.Clear;
      TADOQuery.SQL.Add('Select * From Kunden Order By Name');
      TADOQuery.Open;

omata 15. Jan 2006 18:31

Re: Via SQL Access DB Tabelle sortieren
 
Was machst du den nach dem Open?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz