プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[Access] 「ODBC – 呼び出しが失敗しました。」エラーの詳細を調べる

AccessなどからSQLServerに接続してSQLを実行するときにこのエラーをよく見ます。
Image

実行した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で表示してもいいかもしれません。

まぁ、詳細エラーが分かったところで、
やはり分かりにくいエラーメッセージですので、エラー原因は調べなければダメなんですけどね。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください