Accessの単票フォームで「閉じる」ボタンをクリックすると、通常はデータを保存して閉じますが、「閉じる」ボタンと「キャンセル」ボタンを作成したいということがあります。
ボタンのクリック時イベントに以下のとおり書き込むと、保存せずに閉じることができます。
Private Sub キャンセル_Click()
If Me.Dirty Then
DoCmd.RunCommand acCmdUndo
End If
DoCmd.Close
End Sub
「キャンセル」とは、フォームを表示して編集したけど、編集する必要がなかったという場合などです。
レコードを元に戻してウィンドウを閉じたいということです。
ボタンのクリック時イベントに以下のとおり書き込むと、保存せずに閉じることができます。
Private Sub キャンセル_Click()
If Me.Dirty Then
DoCmd.RunCommand acCmdUndo
End If
DoCmd.Close
End Sub
操作方法を記しておきます。
コマンドボタンを選択して、プロパティを表示します。
「デザイン」タブの「ツール」グループにある「プロパティシート」ボタンをくりっくすると表示できます。
あるいは、キーボードから「F4」キーを押します。
「F4」キーは、プロパティの表示/非表示を切り替えられます。
「イベント」タブの「クリック時」の「ビルダー選択」ボタン(…)をクリックします。
「ビルダーの選択」ダイアログボックスが表示されます。
「コードビルド」を選択して「OK」ボタンをクリックします。
VBEのコードウィンドウに、以下のように入力します。
VBEを閉じると、プロパティには「イベントプロシージャ」と表示されます。
以下の記事では、マクロアクションで解説しています。