Access でフォームをデザインするときに、リストから値を選択したときにレコードを検索するために使用できる リスト ボックス または コンボ ボックス を作成できます。 これにより、ユーザーは [検索] ダイアログ ボックスに値を入力しなくても、既存のレコードをすばやく 見つけることができます 。
注:
-
このプロシージャを機能させるには、フォームをテーブルまたは保存されたクエリにバインドする必要があります。 手順の手順 5 には、そうでない場合の処理に関する詳細情報が含まれています。
-
この手順では、データベースに信頼された状態が付与されている場合にのみ実行されるコードを作成する場合があります。 詳細については、「データベースを信頼するかどうか決定する」を参照してください。
リスト ボックスまたはコンボ ボックスをCreateする
-
ナビゲーション ウィンドウでフォームを右クリックし、[デザイン ビュー] をクリックします。
-
[デザイン] タブの [コントロール] グループで、[コントロール ウィザードの使用] が選択されていることを確認します。
-
[コントロール] グループ で 、[ リスト ボックス ] または [ コンボ ボックス] をクリックします。
-
フォームで、リスト ボックスまたはコンボ ボックスを配置する場所をクリックします。
-
ウィザードの最初のページで、[ コンボ ボックス/リスト ボックスで選択した値に基づいてフォーム上のレコードを検索する] をクリックし、[ 次へ] をクリックします。
[ レコードの検索...] オプションは使用できません。
[ コンボ ボックス/リスト ボックスで選択した値に基づいてフォーム上のレコードを検索する] オプションが表示されない場合は、フォームがテーブルまたは保存されたクエリにバインドされていないためである可能性があります。 フォームは、ナビゲーション ウィンドウの [テーブル ] または [クエリ] で使用できるオブジェクトにバインド する必要があります。
フォームがテーブルにバインドされているか、保存されたクエリにバインドされているかをチェックするには、次の手順に従います。
-
[キャンセル] をクリックしてウィザードを閉じます。
-
前に作成したリスト ボックスまたはコンボ ボックスを右クリックし、[削除] をクリック します。
-
[プロパティ シート] 作業ウィンドウが表示されない場合は、F4 キーを押して表示します。
-
プロパティ シートの上部にある一覧から [ フォーム ] を選択します。
-
プロパティ シートの [ データ ] タブで、[ レコード ソース ] プロパティ ボックスを確認します。 このボックスには、この記事で説明されている手順を使用する前に、テーブルまたは保存されたクエリの名前が含まれている必要があります。 ボックスが空白の場合は、レコード ソースとして既存のテーブルまたはクエリを選択するか、新しいクエリを作成してレコード ソースとして機能させることができます。 ボックスに SELECT ステートメントが含まれている場合は、そのステートメントを保存されたクエリに変換する追加のオプションがあります。 これらのタスクのいずれかを完了すると、次にコンボ ボックス/リスト ボックス ウィザードを実行すると、[ レコードの検索 ]オプションが表示されます。
実行する操作に基づいて、次のいずれかの手順に従います。
-
レコード ソースとして既存のテーブルまたはクエリを選択する
-
検索するレコードを含む既存のテーブルまたはクエリがデータベースに存在することがわかっている場合は、次の手順を使用してそのオブジェクトにフォームをバインドします。
注: [レコード ソース] プロパティ ボックスに SELECT ステートメントが含まれている場合、この手順に従うと、そのステートメントは完全に削除されます。 ステートメントを復元する場合に備えて、 ステートメントをテキスト ファイルやその他のワープロ プログラムにコピーすることもできます。
-
[ レコード ソース ] プロパティ ボックスをクリックし、表示されるドロップダウン矢印をクリックします。
-
使用可能なテーブルまたはクエリのいずれかを選択します。 適切なテーブルまたはクエリを使用できない場合は、続行する前にテーブルまたはクエリを作成する必要があります。 詳細については、テーブルCreate記事を参照し、フィールドを追加するか、単純な選択クエリをCreateします。
-
フォームを保存し、この記事の冒頭で手順を繰り返します。 ウィザードに、 コンボ ボックス/リスト ボックスで選択した値に基づいてフォーム上のレコードを検索 するオプションが表示されます。
-
-
新しい保存されたクエリをCreateするか、SELECT ステートメントを保存されたクエリに変換します
検索するデータが複数のテーブルに含まれている場合は、フォームをそれらのテーブルからデータを選択するクエリにバインドする必要があります。
-
[ レコード ソース ] プロパティ ボックスで、[ビルド] ボタン クリックします。
Access によってクエリ ビルダーが開きます。
-
新しいクエリの作成を開始できます。 詳細については、単純な選択クエリCreate記事を参照してください。 クエリの作成が完了したら、手順 2 に進みます。
-
[ レコード ソース ] プロパティ ボックスにもともと SELECT ステートメントが含まれていた場合、そのクエリはクエリ ビルダーに表示されます。 手順 2 に進み、保存されたクエリに変換します。
-
-
[デザイン] タブの [閉じる] グループで [名前を付けて保存] をクリックします。
-
[ 名前を付けて保存 ] ダイアログ ボックスの [ Save 'Queryn' to: box にクエリの名前を入力します。
-
[ クエリ ] が [ As ] ボックスで選択されていることを確認し、[ OK] をクリックします。
-
[デザイン] タブの [閉じる] グループで [閉じる] をクリックします。
-
[ はい ] をクリックして、クエリに加えられた変更を保存し、プロパティを更新します。
Access はフォームをデザイン ビューに表示し、 レコード ソース プロパティを変更して、新しい保存されたクエリ名が表示されるようにします。
-
クイック アクセス ツール バーの [ 保存] を クリックします。
-
この記事の冒頭で手順を繰り返します。 ウィザードに、 コンボ ボックス/リスト ボックスで選択した値に基づいてフォーム上のレコードを検索 するオプションが表示されます。
-
-
-
-
ウィザードに表示される指示に従って操作します。 ウィザードの最後のページで、[ 完了 ] をクリックして、リスト ボックスまたはコンボ ボックスをデザイン ビューに表示します。