2012-03-28 11 views
2

VBAを使用してAccessテーブルを作成してから、オープンレコードセットを使用してアクセスするときに問題があります。私の目標はレコードをテーブルに書き出すことです。テーブルを手動で作成すると、コードが完全に機能します。テーブルが存在しない場合、プログラムはオープンレコードセットの試行で終了します。エラーmsgがある:Access VBAでテーブルを作成できません

「MSO Accessデータベースエンジンは、オブジェクトを見つけることができませんでした 'mytableは'

"mytableはは" argTableの値である。ここのコードスニペットです:。

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) 
は、

何を私が間違っているの?(私はSQLを使用する必要はありません。)

答えて

0

をあなたがするデフコレクションに新しいテーブルを追加する必要があるフィールドの追加を終了した後それを使用することができます。また、提出する必要もあります。

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

これはうまくいきました。ありがとうございました。 –

関連する問題