2012-03-28 11 views
2

Ich habe Probleme beim Erstellen einer Access-Tabelle mit VBA, dann Zugriff über Open-Recordset. Mein Ziel ist es, Datensätze in eine Tabelle zu schreiben. Wenn ich die Tabelle manuell erstelle, funktioniert mein Code perfekt. Wenn die Tabelle nicht vorhanden ist, wird das Programm beim Versuch mit dem offenen Datensatz beendet. Der Fehler msg ist:Zugriff VBA kann Tabelle nicht erstellen

„Der MSO Access-Datenbank-Engine das Objekt nicht finden kann 'myTable'

Wo "myTable" ist der Wert von argTable Hier ist der Code-Schnipsel.

Dim tbl As DAO.TableDef 
Dim db As DAO.Database 
Dim fld As DAO.Field 

Set db = CurrentDb() 
Set tbl = db.CreateTableDef(argTable) 
Set fld = tbl.CreateField("F1") 

Set rstAccessTableOut = db.OpenRecordset(argTable, dbOpenTable) 

Was mache ich falsch? (Hinweis: ich möchte nicht SQL verwenden.)

Antwort

0

Nachdem Sie die Felder hinzugefügt haben Sie die neue Tabelle anzufügen haben def auf die Sammlung zu sein fähig, es zu benutzen. Auch das Feld muss als Anhang hinzugefügt werden.

Dim tbl As DAO.TableDef 
Dim db As DAO.Database 
Dim fld As DAO.Field 

Set db = CurrentDb() 
Set tbl = db.CreateTableDef(argTable) 
Set fld = tbl.CreateField("F1", dbText, 20) 

tbl.Fields.Append fld 

db.TableDefs.Append tbl 

Set rstAccessTableOut = db.OpenRecordset(argTable, dbOpenTable) 
+0

Das hat funktioniert. Vielen Dank. –

Verwandte Themen