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. [ファイル] をクリックし、[オプション] をクリックします。 

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

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

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

解説

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

フォームは、 モーダル (ユーザーが他の操作を実行する前に閉じても非表示にする必要があります)、モードレス (フォームが開いている間は他のウィンドウに移動できる) でも使用できます。 他のすべての Access ウィンドウ ポップアップ フォーム 情報を収集または表示するために使用されるフォーム) を使用する場合があります。 フォームをデザイン するときに、Modalプロパティと 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/コントロール名":商品コード

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

ヘルプを表示

スキルを磨く

トレーニングの探索 >

新機能を最初に入手

Microsoft Insider に参加する >

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

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

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

×