Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Access-DB-Erstellung mit ADOX (https://www.delphipraxis.net/31917-access-db-erstellung-mit-adox.html)

Leon de Bar 15. Okt 2004 15:58


Access-DB-Erstellung mit ADOX
 
Hallo,

diese function erstellt mir eine DB im Access-Format. Ich nutze die ADOX-Komponente. Soweit funzt es auch, bis zur 7. Tabelle, danach bekomme ich eine Fehlermeldung...

Ich kann keinen Syntax-Fehler finden, wo liegt der Haken? Btw. wenn ich INT(x) für ein Tab-Feld nehme bekomme ich auch ne fehlermeldung... Ist das Normal? Ich benötige manchmal nur 1 oder 2 Stellen und die einträge sind in jedem fall numerisch...

wer kann mir bitte helfen?


Delphi-Quellcode:
function TForm1.DBerstellen(dataDir:string):string;
  var
    DataSource, dbName, cs: string;
  begin
    dbName:=(dataDir+'\p2vvw.mdb');
    DataSource:=
      'Provider=Microsoft.Jet.OLEDB.4.0' +
      ';Data Source=' + dbName +
      ';Jet OLEDB:Engine Type=5';
    ADOXCatalog1.Create1(DataSource);

    DataSource:=
      'Provider=Microsoft.Jet.OLEDB.4.0' +
      ';Data Source=' + dbName +
      ';Persist Security Info=False';
    ADOConnection1.ConnectionString := DataSource;
    ADOConnection1.LoginPrompt := False;
    ADOCommand1.Connection := ADOConnection1;

    cs := 'CREATE TABLE Vereinsdaten (' +
          'Vereinsname TEXT(60),' +
          'Str TEXT(50),' +
          'PLZ TEXT(5),' +
          'Ort TEXT(50),' +
          'Tel TEXT(14),' +
          'Fax TEXT(14),' +
          'email TEXT(50),' +
          'URL TEXT(50),' +
          'RegNr TEXT(20),' +
          'Eintragung DATE,' +
          'Bank TEXT(30),' +
          'BLZ TEXT(10),' +
          'KtoNr TEXT(10))';
    ADOCommand1.CommandText := cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE ID (' +
         'ID AUTOINCREMENT(1,1),' +
         'Mitgliedsnummer TEXT(14))';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Anrede (' +
         'AID INT,' +
         'Anrede VARCHAR(30))';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Mitglied (' +
         'ID INT,' +
         'Name TEXT(25),' +
         'Vorname TEXT(25),' +
         'Sex TEXT(1),' +
         'Titel TEXT(15),' +
         'Strasse TEXT(40),' +
         'PLZ TEXT(5),' +
         'Ort TEXT(40),' +
         'BID VARCHAR(2))';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Kontakt (' +
         'ID INT,' +
         'Tel_1 TEXT(13),' +
         'Fax_1 TEXT(13),' +
         'Tel_2 TEXT(13),' +
         'Fax_2 TEXT(13),' +
         'Handy TEXT(13),' +
         'email TEXT(30))';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Mitgliedskonto (' +
         'ID INT,' +
         'Datum DATE,' +
         'Buchungstext TEXT(50),' +
         'Betrag FLOAT)';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE MG_Saldenliste (' +
         'ID INT,' +
         'Saldo FLOAT)';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Spielerdaten (' +
         'ID INT,' +
         'Spielernummer INT,' +
         'Trikot INT,' +
         'Position INT)';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Spielerposition (' +
         'ID INT,' +
         'Position VARCHAR(15))';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Vorstand (' +
         'ID INT,' +
         'IDPosition INT,' +
         'ernannt DATE)';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Vorstandsposten (' +
         'IDPosition INT,' +
         'Beschreibung VARCHAR(20),' +
         'Dauer INT)';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

    cs:= 'CREATE TABLE Mitgliedsstatus (' +
         'ID INT,' +
         'Eintritt Date,' +
         'Austritt Date,' +
         'Status INT)';
    ADOCommand1.CommandText :=cs;
    ADOCommand1.Execute;

  Form2.ShowModal;
  end;

Leon de Bar 15. Okt 2004 20:34

Re: Access-DB-Erstellung mit ADOX
 
...ja gut...

also ich habe den fehler wohl gefunden. es lag an der feldbezeichnung Position... :roll: :?:

aber warum? naja, egal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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