2016年10月14日金曜日

VBAでフォームを開くコードとエラー発生時の対処方法

Access2013のVBAでフォームを開くコードと、エラー発生時の対処方法です。

下記のVBAコードでフォームを開くことができます。
ここでは標準モジュール内に作成しましたが、ボタンのクリックイベント内などでもよく使います。

Option Compare Database

Sub MenuFormOpen()
    DoCmd.OpenForm "F_メニュー"
End Sub

VBAコードでフォームを開く

もしもエラーが発生した場合のことを考え、「On Error Goto」を使いメッセージとエラーの理由を表示するようにします。
これにより操作者は自分で対処できたり、管理者にどのようなエラーか知らせることができます。

Option Compare Database

Sub MenuFormOpen()
On Error GoTo ErrEnd
    DoCmd.OpenForm "F_aメニュー"
    Exit Sub
  
ErrEnd:
    MsgBox "エラーが発生し、フォームを開くことができません。" & _
        vbCrLf & Err.Description
End Sub

メッセージとエラーの理由を表示するようにする

エラーが発生すると、下のメッセージが表示されます。
エラーが発生するとメッセージが表示される

関連する記事
関連する記事
ボタンをクリックすると、別のフォームを開き自分を見えなくする
起動時にメニューフォームを開くには
VBAでフォームを閉じるボタンを作成する
検索フォームを作成する