プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (1件)

こちらでは、上記のソースで正常に作成できました。


なんでMDACのバージョン等の問題かと。

最新のものを入手して試してみてください。

この回答への補足

回答ありがとうございます。
MDACのバージョンを調べたところ
2.0でしたので、最新の2.8をインストールしてみました。
しかし、状況はかわらずでした。
Accessのバージョンなども関係しているのでしょうか?

補足日時:2003/11/07 09:25
    • good
    • 0
この回答へのお礼

お礼をすることを忘れていました。
大変申し訳ありません。
どうもありがとうございました。

お礼日時:2004/01/23 16:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!