Access の "OpenForm/フォームを開く" マクロ アクションを使用すると、フォームをフォーム ビューデザイン ビュー、印刷プレビュー、またはデータシート ビューのいずれかで開くことができます。 フォームを開くときのデータ入力モードやウィンドウ モードを選択したり、フォームで表示するレコードを制限したりすることができます。
注: "OpenForm/フォームを開く" マクロ アクションは、Access の Web アプリでは利用できません。
設定
"OpenForm/フォームを開く" アクションの引数は次のとおりです。
アクションの引数 |
説明 |
フォーム名 |
開くフォームの名前を指定します。 [Form Name/フォーム名] ボックスには、現在のデータベース内にあるすべてのフォームのドロップダウン リストが表示されます。 これは必要な引数です。 ライブラリ データベースで "OpenForm/フォームを開く" アクションに定義されたマクロを実行すると、Access は最初にライブラリ データベースでこの名前のフォームを検索し、次に現在のデータベースで検索します。 |
ビュー |
フォームを開くときのビューを指定します。 [ビュー] ボックスで、[Form/フォーム ビュー]、[Design/デザイン ビュー]、[Print Preview/印刷プレビュー]、[Datasheet/データシート ビュー]、[PivotTable/ピボットテーブル ビュー]、または [PivotChart/ピボットグラフ ビュー] を選びます。 既定値は [Form/フォーム ビュー] です。 注: ピボット テーブルとピボット グラフのビューの機能は、Access 2013 以降 Access から削除されました。 注: "View/ビュー" 引数は、フォームの "DefaultView/既定のビュー" プロパティおよび "ViewsAllowed/ビュー設定" プロパティの設定よりも優先されます。 たとえば、フォームの "ViewsAllowed/ビュー設定" プロパティに [Datasheet/データシート] が設定されている場合でも、"OpenForm/フォームを開く" アクションを使用して、フォームをフォーム ビューで開くことができます。 |
フィルター名 |
フォームのレコードの制限や並べ替えを行うフィルターを指定します。 既存のクエリ名、またはクエリとして保存されているフィルター名のどちらかを入力します。 ただし、開くフォームのすべてのフィールドが含まれているクエリ、または "OutputAllFields/全フィールド表示" プロパティに [Yes/はい] が設定されているクエリを指定する必要があります。 |
Where 条件式 |
Access がフォームの基になるテーブルまたはクエリのレコードを選択するときに使用する有効な SQL WHERE 句 (WHERE の語は除く) または式を指定します。 "Filter Name/フィルター名" 引数にフィルターを指定した場合は、この WHERE 句はフィルターの結果に適用されます。 フォームを開き、別のフォームのコントロール値を使ってレコードを制限するには、次の構文を使用します。 [ フィールド名 ] = Forms![ フォーム名 ]![ 別のフォームの コントロール名 ] "フィールド名" は、開くフォームの基になるテーブル、またはクエリにあるフィールド名に置き換えます。 "フォーム名" と "別のフォームのコントロール名" は、フォームのレコードを制限するための値を持つ、別のフォーム名と別のフォームのコントロール名に置き換えます。 注: "Where 条件式" 引数の最大文字数は 255 バイトです。 これよりも長い複雑な SQL WHERE 句が必要な場合は、Visual Basic for Applications (VBA) モジュールで DoCmd オブジェクトの OpenForm メソッドを使用します。 VBA では、SQL WHERE 句に最大 32,768 バイトまで使用できます。 |
データ モード |
フォームを開くときのデータ入力モードを指定します。 これは、[フォーム] ビュー または [データシート] ビューで開かれたクエリにのみ適用されます。 新しいレコードの追加を許可し、既存レコードの編集を禁止する場合は [Add/追加]、既存レコードの編集および新しいレコードの追加を許可する場合は [Edit/編集]、レコードの表示のみを許可する場合は [Read Only/読み取り専用] を選びます。 注
|
Window Mode/ウィンドウ モード |
フォームを開くときのウィンドウ モードを指定します。 フォームのフォーム プロパティで設定されたモードで開く場合は [Normal/標準]、フォームを非表示にする場合は [Hidden/非表示]、最小化してウィンドウ下部に小型のタイトル バーとして表示する場合は [Icon/アイコン]、フォームの "Modal/作業ウィンドウ固定" プロパティおよび "PopUp/ポップアップ" プロパティを [Yes/はい] に設定する場合は [Dialog/ダイアログ] を選びます。 既定値は [Normal/標準] です。 注: "Window Mode/ウィンドウ モード" 引数の設定値の中には、タブ付きドキュメントを使用する場合には適用されないものもあります。 ウィンドウを重ねて表示するように切り替えるには、次の操作を行います。
|
解説
このマクロの動作は、ナビゲーション ウィンドウでフォームをダブルクリックしたときや、ナビゲーション ウィンドウでフォームを右クリックしてビューをクリックしたときと同様です。
フォームは、 モーダル (ユーザーが他の操作を実行する前に閉じるか非表示にする必要があります)、またはモードレス (フォームが開いている間に他のウィンドウに移動できます)。 また、 ポップアップ フォーム (他のすべての Access ウィンドウの上に残っている情報を収集または表示するために使用されるフォーム) にすることもできます。 フォームをデザインするときに、 モーダル プロパティと PopUp プロパティを設定します。 Window Mode 引数に Normal を使用すると、これらのプロパティ設定で指定されたモードでフォームが開きます。 Window Mode 引数に Dialog を使用する場合、これらのプロパティはどちらも [はい] に設定されます。 非表示またはアイコンとして開かれたフォームは、表示または復元するときに、プロパティ設定で指定されたモードに戻ります。
"Window Mode/ウィンドウ モード" 引数が [Dialog/ダイアログ] に設定されたフォームを開くと、そのフォームを閉じるかまたは非表示にするまで、マクロの実行は一時中断されます。 フォームを非表示にするには、"SetValue/値の代入" アクションを使って、"Visible/可視" プロパティを [No/いいえ] に設定します。
フィルターおよび WHERE 条件式を指定すると、フォームの "Filter/フィルター" プロパティの設定値として使用されます。
ヒント: ナビゲーション ウィンドウでフォームを選択し、マクロ ウィンドウにドラッグできます。 これにより、選択したフォームをフォーム ビューで開く OpenForm アクションが自動的に作成されます。
使用例
マクロによるコントロール値の設定
次のマクロでは、[仕入先] フォームのボタンから [商品の追加] フォームを開きます。 "Echo/エコー"、"OpenForm/フォームを開く"、"SetValue/値の代入"、および "GoToControl/コントロールの移動" の各アクションの使い方を説明します。 "SetValue/値の代入" アクションでは、[商品] フォームの [仕入先コード] コントロールに、[仕入先] フォームの現在の仕入先を設定します。 GoToControl/コントロールの移動 アクションで、[仕入先コード] フィールドにフォーカスを移動し、そこで新しい製品のデータを入力できます。 このマクロは、[仕入先] フォームの [商品の追加] ボタンに設定します。
アクション |
引数: 設定 |
コメント |
Echo |
エコーの設定:いいえ |
マクロの実行中に画面の更新を停止します。 |
OpenForm/フォームを開く |
"Form Name/フォーム名":商品 ビュー: "フォーム" "Data Mode/データ モード":"Add/追加" ウィンドウモード: "標準" |
[商品] フォームを開きます。 |
"SetValue/値の代入" |
"Item/アイテム": [Forms]![商品]![仕入先コード] "式":仕入先コード |
[仕入先コード] コントロールに [仕入先] フォームの現在の仕入先を設定します。 |
GoToControl/コントロールの移動 |
"Control Name/コントロール名":商品コード |
[商品コード] コントロールに移動します。 |