即効テクニック

フォーム・レポート

フォームを閉じる

(Access 2000/2002/2003)
● 概要 ●
構文  expression.Close(ObjectType, ObjectName, Save)


設定項目        内容
expression	DoCmdオブジェクト[省略不可]
ObjectType	オブジェクトの種類をAcObjectTypeクラスの定数で指定
		[省略可能]
ObjectName	オブジェクト名を文字列式で指定[省略可能]
Save		保存についてAcCloseSaveクラスの定数で指定[省略可能]


Accessウィンドウを閉じます。フォームを閉じる場合には、引数に「acForm」を指定します。
アクティブウィンドウを閉じるときは、引数と引数を省略します。引数に指定する定数は以下を参照してください。

・引数に指定する定数(acCloseSaveクラス)

定数		説明
acSaveNo	保存しないで閉じる
acSavePrompt	保存確認をしてから閉じる(既定値)
acSaveYes	保存して閉じる

次のコードは、フォームをデザインビューで開き、ラベルのキャプションを変更したあと、保存して閉じるものです。


● サンプル ●
'フォームを閉じる
'実行後に手動で[FM_CloseTest]フォームを開いて、結果を確認してください

Sub CloseSample()
    Dim myFormName As String
    Dim myCtrl As Control
  'フォーム名を代入
    myFormName = "FM_CloseTest" 
  'デザインビューで開く
    DoCmd.OpenForm myFormName, acDesign
  'ラベルを変数に代入
    Set myCtrl = Forms(myFormName)!lblCount
  'ラベルのキャプションを変更
    myCtrl.Caption = myCtrl.Caption + 1
  '保存してフォームを閉じる
    DoCmd.Close acForm, myFormName, acSaveYes
End Sub