OpenForm マクロ アクション

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/読み取り専用] を選びます。

  • "Data Mode/データ モード" 引数の設定は、フォームの "AllowEdits/更新の許可"、"AllowDeletions/削除の許可"、"AllowAdditions/追加の許可"、および"DataEntry/データ入力用" の各プロパティの設定よりも優先されます。たとえば、フォームの "AllowEdit/編集の許可" プロパティが [No/いいえ] に設定されている場合でも、"OpenForm/フォームを開く" アクションを使って、編集モードでフォームを開くことができます。

  • この引数を空白のままにすると、Access では、"AllowEdits/更新の許可"、"AllowDeletions/削除の許可"、"AllowAdditions/追加の許可"、および "DataEntry/データ入力用" の各プロパティによって設定されたデータ エントリ モードでフォームが開かれます。

Window Mode/ウィンドウ モード

フォームを開くときのウィンドウ モードを指定します。フォームのフォーム プロパティで設定されたモードで開く場合は [Normal/標準]、フォームを非表示にする場合は [Hidden/非表示]、最小化してウィンドウ下部に小型のタイトル バーとして表示する場合は [Icon/アイコン]、フォームの "Modal/作業ウィンドウ固定" プロパティおよび "PopUp/ポップアップ" プロパティを [Yes/はい] に設定する場合は [Dialog/ダイアログ] を選びます。既定値は [Normal/標準] です。

注: "Window Mode/ウィンドウ モード" 引数の設定値の中には、タブ付きドキュメントを使用する場合には適用されないものもあります。ウィンドウを重ねて表示するように切り替えるには、次の操作を行います。

  1. [ファイル] をクリックし、[オプション] をクリックします。Access 2007 の場合は、[Microsoft Office ボタン] Office ボタンの画像 をクリックし、[Access のオプション] をクリックします。

  2. [Access のオプション] ダイアログ ボックスで [カレント データベース] をクリックします。

  3. [アプリケーション オプション] セクションの [ドキュメント ウィンドウ オプション] で、[ウィンドウを重ねて表示する] をクリックします。

  4. [OK] をクリックして、データベースを閉じ、もう一度開きます。

解説

このマクロの動作は、ナビゲーション ウィンドウでフォームをダブルクリックしたときや、ナビゲーション ウィンドウでフォームを右クリックしてビューをクリックしたときと同様です。

フォームをモーダルに設定すると、そのフォームを閉じるかまたは非表示にしない限り、別の操作を実行できないようにすることができ、作業ウィンドウ固定に設定しない場合は、そのフォームを開いたまま、他のウィンドウに移動できます。また、フォームをポップアップ フォームに設定することもできます。これは、情報の入力や表示に使用するフォームで、必ず 1 番手前に表示されます。"Modal/モーダル" および "PopUp/ポップアップ" プロパティは、フォームをデザインするときに設定します。"Window Mode/ウィンドウ モード" 引数が [Normal/標準] に設定されている場合は、フォームを開くときに、これらのプロパティによって設定されたモードが適用されます。"Window Mode/ウィンドウ モード" 引数が [Dialog/ダイアログ] に設定されている場合、この 2 つのプロパティは [Yes/はい] に設定されます。非表示またはアイコンとして開いたフォームは、フォームを表示したり復元したりしたときに、プロパティの設定で指定されたモードに戻ります。

"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/コントロール名":商品コード

[商品コード] コントロールに移動します。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×