ADOXを使ってmdbファイルを作るときに、オートナンバー型フィールドを作るステートメントを入れると
「Microsoft JET Database Engine (0x80040E21)
複数ステップの OLE DB の操作でエラーが発生しました。各 OLE DB の状態の値を確認してください。作業は終了しませんでした。」
というエラーになります。
試しにオートナンバーにしないと、正常にmdbファイルが作成されます。
対処法をご存知の方、是非とも教えてください。
以下がソースの一部です。
Set catDB = CreateObject("ADOX.Catalog")
catDB.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\hoge.mdb"
Set tbl = CreateObject("ADOX.Table")
With tbl
.Name = "Contacts"
Set .ParentCatalog = catDB
With .Columns
.Append "ContactId", adInteger
' ContactId フィールドをオートナンバー型に設定します。
.Item("ContactId").Properties("AutoIncrement") = True
.Append "CustomerID"
.Append "Phone"
End With
End With
catDB.Tables.Append tbl←ここでエラーになります。
Set catDB = Nothing
お礼
お礼をすることを忘れていました。 大変申し訳ありません。 どうもありがとうございました。
補足
回答ありがとうございます。 MDACのバージョンを調べたところ 2.0でしたので、最新の2.8をインストールしてみました。 しかし、状況はかわらずでした。 Accessのバージョンなども関係しているのでしょうか?