訪問して頂きありがとうございます。まさふくろーです。
この記事では、フォームを開く方法をご紹介します。
目次
フォームを開く
使用するメソッド
DoCmd.OpenFormメソッド
DoCmd.OpenForm (FormName [, View] [, FilterName] [, WhereCondition] [, DataMode] [, WindowMode] [, OpenArgs])
説明 |
フォームを開くには、DoCmdオブジェクトのOpenFormメソッドを使用します。 |
指定項目 | 必須 | 説明 |
FormName |
〇 |
開くフォーム名を指定します。 |
View | ー | ビューの種類を表す定数または値を指定します。 |
指定する定数または値は、以下の表になります。 |
||
FilterName | ー | クエリ名を指定します。 |
WhereCondition | ー | データの抽出条件式を指定します。 |
DataMode | ー | データ入力モードを表す定数または値を指定します。 |
指定する定数または値は、以下の表になります。 | ||
WindowMode | ー | フォームを開くときのウィンドウモードを表す定数または値を指定します。 |
指定する定数または値は、以下の表になります。 | ||
OpenArgs | ー | フォームのパラメータを文字列で指定します。 |
引数「View」に指定する定数と値
定数 | 値 | 内容 |
acNormal | 0 | フォームビュー(既定値) |
acDesign |
1 | デザインビュー |
acPreview | 2 | 印刷プレビュー |
acFormDS | 3 | データシートビュー |
acFormPivotTable | 4 | ピボットテーブルビュー |
acFormPivotChart | 5 | ピボットグラフビュー |
acLayout | 6 | レイアウトビュー |
引数「DataMode」に指定する定数と値
定数 | 値 | 内容 |
acFormPropertySettings | -1 | プロパティで設定されている内容を反映(既定値) |
例:テキストボックスの「編集ロック」プロパティで「はい」が設定されていれば、入力不可。「いいえ」が設定されていれば、入力可。 | ||
acFormAdd |
0 | 追加モード |
既存のレコードは編集不可 |
||
acFormEdit |
1 |
編集モード |
既存のレコード編集可能、新しいレコード追加可能 | ||
acFormReadOnly |
2 |
参照モード |
レコードの参照のみ可能 |
引数「WindowMode」に指定する定数と値
定数 | 値 | 内容 |
acWindowNormal | 0 | プロパティで設定されているモードで開く(既定値) |
acHidden | 1 | 非表示にする |
acIcon | 2 | 最小化する |
acDialog | 3 | ポップアップ表示にする |
サンプルプログラム
必須項目のみ指定
1 2 3 4 5 6 7 |
Private Sub Sample() DoCmd.OpenForm "frm売上一覧" MsgBox "frm売上一覧を開きました。" End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 |
「frm売上一覧」フォームを「フォームビュー」モードで開きます。 |
5 | メッセージ「frm売上一覧を開きました。」を表示します。 |
省略可能な引数:Viewを指定
1 2 3 4 5 6 7 |
Private Sub Sample() DoCmd.OpenForm "frm売上一覧", acPreview MsgBox "frm売上一覧を開きました。" End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 |
「frm売上一覧」フォームを「印刷プレビュー」モードで開きます。 |
5 | メッセージ「frm売上一覧を開きました。」を表示します。 |
省略可能な引数:FilterNameを指定
1 2 3 4 5 6 7 |
Private Sub Sample() DoCmd.OpenForm "frm売上一覧", , "Q売上一覧抽出" MsgBox "frm売上一覧を開きました。" End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 |
「Q売上一覧抽出」クエリで抽出したデータで「frm売上一覧」フォームを開きます。 |
5 | メッセージ「frm売上一覧を開きました。」を表示します。 |
省略可能な引数:WhereConditionを指定
1 2 3 4 5 6 7 |
Private Sub Sample() DoCmd.OpenForm "frm売上一覧", , , "伝票№=101" MsgBox "frm売上一覧を開きました。" End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 |
「売上一覧」テーブルから「伝票№=101」のデータを抽出し、「frm売上一覧」フォームを開きます。 |
5 | メッセージ「frm売上一覧を開きました。」を表示します。 |
省略可能な引数:DataModeを指定
1 2 3 4 5 6 7 |
Private Sub Sample() DoCmd.OpenForm "frm売上一覧", , , , acFormReadOnly MsgBox "frm売上一覧を開きました。" End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 |
「frm売上一覧」フォームを「参照」モードで開きます。 |
5 | メッセージ「frm売上一覧を開きました。」を表示します。 |
省略可能な引数:WindowModeを指定
1 2 3 4 5 6 7 |
Private Sub Sample() DoCmd.OpenForm "frm売上一覧", , , , , acDialog MsgBox "frm売上一覧を開きました。" End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 |
「frm売上一覧」フォームを「ポップアップ」モードで開きます。 |
5 | メッセージ「frm売上一覧を開きました。」を表示します。 |
省略可能な引数:OpenArgsを指定
1 2 3 4 5 6 7 |
Private Sub Sample() DoCmd.OpenForm "frm売上一覧", , , , , , "サンプル" MsgBox "frm売上一覧を開きました。" End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 |
パラメータ「サンプル」をOpenArgsプロパティに設定し、「frm売上一覧」フォームを開きます。 |
5 | メッセージ「frm売上一覧を開きました。」を表示します。 |
1 2 3 4 5 |
Private Sub Form_Open(Cancel As Integer) Me.Caption = OpenArgs End Sub |
1 | フォームのOpenイベント発生時に以下処理を行います。 |
3 |
OpenArgsプロパティの値を「frm売上一覧」フォームのタイトルバーに設定します。 |
実行結果
関連記事
連結フォームを作成する
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら