![]() |
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; |
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 10:33 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