[Access] 「ODBC – 呼び出しが失敗しました。」エラーの詳細を調べる
AccessなどからSQLServerに接続してSQLを実行するときにこのエラーをよく見ます。
実行したSQLやストアドに問題があるのだろうというのは分かりますが、どこがどう悪いのかが全然分かりません。
Errオブジェクトを見てもこのメッセージしか記載されていません。
このような場合、エラーの詳細を知りたいのなら、DBEngine.Errorsの中身を見ると詳しいことが分かります。
DBEngine.Errorsにはエラーメッセージがリストで入っています。
ウォッチでみてもいいですし、イミディエイトウィンドウで ? DBEngine.Errors(0) などとしても確認できます。
簡単に確認できるよう、関数を用意しておくと便利です。
例えばこんな感じ。
Sub ShowDbError() Dim message As String Dim dbErr As Error For Each dbErr In DBEngine.Errors message = dbErr.Description & vbNewLine & message Next If message = "" Then message = "エラーはありません" End If Debug.Print message End Sub
エラーが発生したら、この関数を実行すればよいです。
機能として組み込むなら、MsgBoxで表示してもいいかもしれません。
まぁ、詳細エラーが分かったところで、
やはり分かりにくいエラーメッセージですので、エラー原因は調べなければダメなんですけどね。
== ランキングに参加しています。ぜひクリックお願いします ==
[MSAccess] インポート/エクスポート定義を確認するには コマンドプロンプトでレジストリの値を参照する