AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Indizies mit Access über SQL Befehl
Thema durchsuchen
Ansicht
Themen-Optionen

Indizies mit Access über SQL Befehl

Ein Thema von Christian18 · begonnen am 5. Jan 2006 · letzter Beitrag vom 5. Jan 2006
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Indizies mit Access über SQL Befehl

  Alt 5. Jan 2006, 08:37
Datenbank: Access • Version: 2000 • Zugriff über: ADO
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.
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#2

Re: Indizies mit Access über SQL Befehl

  Alt 5. Jan 2006, 09:40
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
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Indizies mit Access über SQL Befehl

  Alt 5. Jan 2006, 10:15
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:
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
Grüße
Mikhal

[edit]ExecSQl gegen Execute ausgetauscht[/edit]
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#4

Re: Indizies mit Access über SQL Befehl

  Alt 5. Jan 2006, 10:40
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
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Indizies mit Access über SQL Befehl

  Alt 5. Jan 2006, 14:26
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:
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
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.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 Uhr.
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