Access VBA の DoCmd.Save
および DoCmd.Close
は、オブジェクトの保存と閉じる操作をプログラムから行うためのメソッドです。対象のオブジェクトの種類や名前を指定して制御できます。
目次
🔹 1. DoCmd.Save
:オブジェクトを保存
基本構文
DoCmd.Save [ObjectType], [ObjectName]
引数の解説
引数名 | 型 | 説明 |
---|---|---|
ObjectType | AcObjectType (省略可) | 保存対象のオブジェクトの種類(例:acForm , acQuery など) |
ObjectName | String (省略可) | 保存するオブジェクトの名前(省略時はアクティブなオブジェクト) |
使用例
DoCmd.Save acForm, "frmCustomers"
※ 省略するとアクティブなオブジェクトが保存されます。
🔹 2. DoCmd.Close
:オブジェクトを閉じる
基本構文
DoCmd.Close [ObjectType], [ObjectName], [Save]
引数の解説
引数名 | 型 | 説明 |
---|---|---|
ObjectType | AcObjectType (省略可) | 閉じる対象のオブジェクトの種類(例:acForm , acReport ) |
ObjectName | String (省略可) | 閉じるオブジェクト名(省略時はアクティブなオブジェクト) |
Save | AcCloseSave (省略可) | 保存するかどうかの指定(下記参照) |
AcCloseSave
定数
定数名 | 値 | 説明 |
---|---|---|
acSaveYes | 1 | 変更を保存して閉じる |
acSaveNo | 2 | 保存せずに閉じる |
acSavePrompt | 0 | ユーザーに保存するか確認(既定) |
使用例
DoCmd.Close acForm, "frmOrders", acSaveYes
✅ 補足
DoCmd.Save
は、フォームやレポートのレイアウト変更を保存したい場合に使用します(データの保存とは異なります)。- データ保存には
DoCmd.RunCommand acCmdSaveRecord
を使うのが一般的です。 DoCmd.Close
は、イベントプロシージャ内でフォームを閉じるなど、ユーザー操作の自動化に使います。