![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Indizies mit Access über SQL Befehl
Hallo,
wie kann ich in Access über die SQL Befehle Indizies Festlegen??? Wie ich einen Primär Schlüssel vergeben kann das weiß ich. Aber wie kann man Indizies vergeben, die man später von Delphi aus zum Sortieren einer Tabelle nutzen will, anlegen. |
Re: Indizies mit Access über SQL Befehl
hi,
ist es überhaupt möglich sowas zu machen. ich habe schon im internet geschaut konnte aber nur finden wie man einen primär schlüssel vergibt. MFG Christian18 |
Re: Indizies mit Access über SQL Befehl
Auszug aus einer Datenbank-Definition, die ich für ein eigenes Programm verwendet habe. Dazu wird ein TAdoCommand mit dem entsprechenden SQL-Statement gefüllt und via Execute ausgeführt.
Delphi-Quellcode:
Grüße
const
cCR = #13#10; // Carriage-Return cCreateTableAdresse = 'CREATE TABLE Adresse(' + cCR + ' Adr_Id COUNTER,' + cCR + ' Adr_Name VARCHAR(50),' + cCR + ' Adr_Strasse VARCHAR(50),' + cCR + ' Adr_Land VARCHAR(5),' + cCR + ' Adr_PLZ VARCHAR(5),' + cCR + ' Adr_Ort VARCHAR(50),' + cCR + ' Adr_Telefon VARCHAR(20),' + cCR + ' Adr_Email VARCHAR(100));'; // Tabellendefinition cCreatePKAdresse = 'CREATE INDEX PK_Adresse ON Adresse(Adr_Id) WITH PRIMARY;'; // Definition des PK der Tabelle cCreateIDXAdrName = 'CREATE INDEX IDX_AdrName ON Adresse(Adr_Name);'; // Definition eines Index auf das Feld Adr_Name Mikhal [edit]ExecSQl gegen Execute ausgetauscht[/edit] |
Re: Indizies mit Access über SQL Befehl
Hallo,
ok danke das funktioniert schon mal. Ist es auch möglich die Anweisung bei Erstellen der Tabelle zu implementieren??? Also bei Create Table??? oder muß ich jedes mal wenn ich bei einer Tabelle Indizies verwenden möchte eine neue Abfrage machen. MFG Christian18 |
Re: Indizies mit Access über SQL Befehl
Mir ist lediglich eine Variante für den PK bekannt. Es handelt sich dabei allerdings um TSQL, das Access (besser die JET-DB) verstehen sollte. Um bei dem vorgegebenen Beospiel zu bleiben:
Delphi-Quellcode:
Geändert hat sich eigentlich nur die Zeile für Adr_Id. Ich habe mich damals aber für die explizite Variante entscheiden, da ich eine Versionierung meiner Datenbank vorsah, und ich dann die entsprechenden Konstanten abrufen konnte, um ein Versionsupdate vornehmen zu können.
const
cCR = #13#10; // Carriage-Return cCreateTableAdresse = 'CREATE TABLE Adresse(' + cCR + ' Adr_Id int identity(1,1) not null CONSTRAINT PK_Adresse primary key,' + cCR + ' Adr_Name VARCHAR(50),' + cCR + ' Adr_Strasse VARCHAR(50),' + cCR + ' Adr_Land VARCHAR(5),' + cCR + ' Adr_PLZ VARCHAR(5),' + cCR + ' Adr_Ort VARCHAR(50),' + cCR + ' Adr_Telefon VARCHAR(20),' + cCR + ' Adr_Email VARCHAR(100));'; // Tabellendefinition Grüße Mikhal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 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 by Thomas Breitkreuz