Registriert seit: 1. Okt 2004
Ort: Berlin
125 Beiträge
Delphi 6 Enterprise
|
Access-DB-Erstellung mit ADOX
15. Okt 2004, 16:58
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;
|