この記事では、Access フォームにテキスト ボックス コントロールを追加し、そのテキスト ボックスに別のフォームのコントロールの値が表示されるように、テキスト ボックスのプロパティを設定する方法について説明します。 これは、次のような場合に役立ちます。
-
メイン フォームにサブフォームがあり、サブフォームに演算テキスト ボックス (品目の価格の合計など) が含まれていて、その計算結果をメイン フォームに表示する必要がある場合。
-
1 番目のフォームに 2 番目のフォームを開くコマンド ボタンがあり、2 番目のフォームに、1 番目のフォームのコントロールの値を表示するテキスト ボックスが必要な場合。
コントロールを作成する
-
ナビゲーション ウィンドウで、変更するフォームを右クリックし、[デザイン ビュー] または [レイアウト ビュー] をクリックします。
-
[デザイン] タブの [コントロール] で [テキスト ボックス] をクリックします。
-
テキスト ボックスを作成するフォーム内の場所をクリックします。
-
テキスト ボックスだけが選択されていることを確認します。 必要に応じて、別のコントロールをクリックし、もう一度テキスト ボックスをクリックします。
-
プロパティ シートが表示されていない場合は、テキスト ボックスを右クリックして、[プロパティ] をクリックします。
-
[プロパティ シート] 作業ウィンドウで、[すべて] タブをクリックします。
-
次の構文を使用して、[コントロールソース] プロパティを設定します。
=[フォーム]![フォーム名]![コントロール名]
<フォーム名> は表示する値を持つコントロールを含むフォームの名前で、<コントロール名> はそのコントロールの名前です。
サブフォームのコントロールの参照は、やや複雑です。 その場合は、次のような構文を使用します。
=[フォーム]![メイン フォーム名]![メイン フォームのサブフォーム コントロール名].[フォーム]![サブフォームのコントロール名]
ここで、<メイン フォーム名> はメイン フォームの名前で、<メイン フォームのサブフォーム コントロール名> はサブフォームのコンテナーであるメイン フォーム上のコントロール名であり、<サブフォームのコントロール名> は、表示するコントロールの値を含むサブフォームのコントロール名です。
注: いずれの場合も、参照されるフォームは、Access がその値を読み取れるように開かれている必要があります。 このフォームは非表示の場合もありますが、開かれている必要があります。
例
例 1:その他のフォームの参照
"注文" という名前のメイン フォームがあり、"従業員の詳細" というフォームにある "名" というコントロールの値を表示する必要があるとします。 "従業員の詳細" フォームの "名" コントロールの値を表示するには、"注文" フォームにテキストボックスを追加し、その "コントロール ソース" プロパティを次のように指定します。
=[フォーム]![従業員の詳細]![名]
例 2:メイン フォームからのサブフォームのコントロールの参照
"注文" という名前のメイン フォームがあるとします。 このフォームには、"注文サブフォーム" という名前のサブフォーム コントロールが含まれており、そのサブフォームには、"注文小計" という名前の演算テキスト ボックスが含まれているとします。 注文小計コントロールの値を注文メイン フォームに表示するには、注文メイン フォームにテキスト ボックスを追加し、その "コントロールソース" プロパティを次のように設定します。
=[フォーム]![注文]![注文サブフォーム].[フォーム]![注文小計]
注: いずれの場合も、参照されるフォームは、Access がその値を読み取れるように開かれている必要があります。 このフォームは非表示の場合もありますが、開かれている必要があります。