Accessフロントエンドに問題があり、一見ランダムに見えますが、説明なしで常にユーザーがタイムアウトします。これは長年の問題であり、切断が発生するたびに、問題の原因となっているサブと一般的なエラーメッセージが提供されます。
エラーメッセージは誤解を招くものだと思い始めています。エラーコードが0の一般的な「接続障害」が表示されます。コードをグーグルで検索した後、エラーが発生しなかったことを意味しますか?
私はVBAではなくC#を使用しているので、慣れていませんが、エラー処理は次のとおりです。
Private Sub Form_Timer()
Dim blnSystemMaintenance As Boolean
On Error GoTo ErrHand
' Check for System Maintenance.
blnSystemMaintenance = DLookup("SystemMaintenance", "ConfigItems")
If blnSystemMaintenance Then
//Do stuff
Else
//Do stuff
End If
//Do stuff
End If
ErrExit:
Exit Sub
Resume
ErrHand:
' If Err.Number = 1 Then
' Else
MsgBox "Error number: " & Err.Number & vbCrLf & _
"Error description: " & Err.Description, vbCritical, _
"Unexpected Error Occurred in Sub: Form_Timer"
Resume ErrExit
' End If
End Sub
より役立つエラーメッセージを表示する方法はありますか?
ドメインアグリゲートは、多くの場合、説明的なエラーメッセージを表示しません。ドメインアグリゲートを実行しているときに、データベースでバックエンドへの接続に問題が発生したと想定しています。
ドメインアグリゲートをレコードセット呼び出しに簡単に置き換えることができます。
blnSystemMaintenance = CurrentDb.OpenRecordset("SELECT SystemMaintenance FROM ConfigItems")(0).Value
多くの場合、レコードセットの使用時にエラーが発生した場合は、もう少し説明的なエラーが発生します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加