リンクされたテーブルを照会し、データに基づいてレポートを生成し、PDF プリンターを使用してレポートをディスクに保存する Access 用の VBA モジュールで作業しています。プライマリ フォームには、N 秒ごとに「JOBQUEUE」テーブルに対して Access クエリを実行して、新しいジョブがあるかどうかを確認するタイマーがあります。
データベース サーバーが使用できなくなった場合、この操作はもちろんタイムアウトになります。3051 の実行時エラーがログに記録されており、ループが続行しようとします。ただし、VB ランタイム エラーの直後に次のエラーが発生するため、ループを終了できません。
タイトルは「Microsoft SQL Server Login」なので、私が知る限り、VB 内にはありません。
Connection Failed:
SQLState: '01000'
SQL Server Error: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB][ConnectionOpen(Connect()).
Connection Failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not
exist or access is denied.
このエラーに言及しているすべてのフォーラムとディスカッションで、質問者はエラーの原因に関心を持っています。この場合、エラーは一時的なものであり、インストールが無人であるため、接続を試行し続ける必要があると推測できます。DB に対してタイムアウトになると、アクセスは「応答なし...」状態になりますが、それも問題ありません。上記の MsgBox に入る前に接続が復元されれば、中断したところから再開されます。
できればプログラムでそのメッセージボックスをミュートできる方法を知っている人はいますか?しかし、この時点でRDPセッションではないリモートで実行できるものは何でも使用します。
編集:画像へのリンク