[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] インポート/エクスポート定義を確認するには コマンドプロンプトでレジストリの値を参照する