Access データベースの値を使用してリスト ボックス、ドロップダウン リスト ボックス、またはコンボ ボックスにデータを代入する

リスト ボックス、ドロップダウン リスト ボックス、またはコンボ ボックスには、Microsoft Office Access 2007 (.accdb 形式) データベースまたは以前のバージョン (.mdb 形式) で保存された Access データベースへのクエリ データ接続からのデータを代入できます。

この記事の内容

概要

互換性に関する注意点

コースを始める前に

手順 1: クエリ データ接続を追加する

手順 2: コントロールを構成する

概要

リスト ボックス、ドロップダウン リスト ボックス、またはコンボ ボックスには、ユーザーが Microsoft Office InfoPath フォームに入力するときに選択できる項目が表示されます。フォーム テンプレートをデザインするときに、Access データベースへのセカンダリ データ接続からのデータを表示するようにこれらの種類のコントロールを構成できます。

セカンダリ データ接続とは、フォーム テンプレートに追加する外部データ ソースへの任意のデータ接続です。フォーム テンプレートに基づくフォームに入力する場合、または Web サービスなどの外部データ ソースにフォーム データを送信する場合にユーザーが必要とするデータを取得するように、セカンダリ データ接続を構成できます。

データのクエリを実行するセカンダリ データ接続をフォーム テンプレートに追加すると、データベースのデータの格納方法に対応したデータ フィールドとグループを含むセカンダリ データ ソースが作成されます。クエリ データ接続では、Web サービスからデータを取得し、そのデータをフォームのセカンダリ データ ソースに格納します。

コンピュータがネットワークに接続されていなくてもユーザーがデータにアクセスできるように、セカンダリ データ接続を構成して、クエリの結果をユーザーのコンピュータに保存することもできます。データの性質に応じて、ユーザーがネットワークに接続している場合にのみクエリ結果を表示することもできます。

セキュリティに関するお知らせ : セカンダリ データ接続を使用して外部データ ソースから機密データを取得している場合、この機能を無効にすると、コンピューターが紛失または盗難にあったときのデータの不正使用を防ぐのに役立ちます。この機能を無効にした場合は、ユーザーがネットワークに接続しているときにのみデータが使用可能になります。

セカンダリ データ ソースのデータ構造は、データベースのデータの格納方法と一致している必要があるため、セカンダリ データ ソース内の既存のフィールドやグループを変更することはできません。データ接続とデータ ソースの詳細については、[参照] にあるリンクを参照してください。

ページの先頭へ

互換性に関する注意点

Access データベースにクエリ データ接続を追加できるのは、ブラウザー互換フォーム テンプレートではないフォーム テンプレートをデザインしている場合のみです。

ページの先頭へ

コースを始める前に

Access データベースの値を使用してフォーム テンプレートのコントロールにデータを代入する前に、データベース管理者から次の情報を入手する必要があります。

  • データベースの名前と場所。

    注: ネットワーク上の他のユーザーがこのフォーム テンプレートに基づくフォームを作成する予定がある場合は、データベースにユーザーがアクセスできることを確認してください。

  • コントロール用の値を提供するテーブルまたはクエリの名前。クエリ データ接続を構成するときには、このテーブルまたはクエリを主テーブルとして使用します。

  • 主テーブルまたは主クエリが必要とするデータを持つ他のテーブルまたはクエリの名前。ほとんどの場合、データベースにはテーブルのリレーションシップが既に確立されています。主テーブルまたは主クエリと別のテーブルまたはクエリの間にリレーションシップを手動で確立する必要がある場合は、両方のテーブルまたはクエリの関連フィールドの名前が必要になります。

ページの先頭へ

手順 1: クエリ データ接続を追加する

使用できる既存のクエリ データ接続がフォーム テンプレートにない場合は、次の手順に従って、データのクエリを実行するセカンダリ データ接続をフォーム テンプレートに追加します。フォーム テンプレートに使用できるセカンダリ データ接続が既に存在する場合は、この手順を省略して「手順 2: コントロールを構成する」に進んでください。

  1. [ツール] メニューの [データ接続] をクリックします。

  2. [データ接続] ダイアログ ボックスの [追加] をクリックします。

  3. データ接続ウィザードの [新しいデータ接続先] をクリックし、[データの受信] をクリックして、[次へ] をクリックします。

  4. ウィザードの次のページで、[データベース (Microsoft SQL Server または Microsoft Office Access のみ)] をクリックし、[次へ] をクリックします。

  5. ウィザードの次のページで、[データベースの選択] をクリックします。

  6. [データ ファイルの選択] ダイアログ ボックスで、データベースの場所を参照します。

    注: データベースがネットワーク上の場所に配置されている場合は、その場所の 汎用名前付け規則 (UNC) パスを参照します。割り当てられたネットワーク ドライブを介してネットワーク上の場所を参照することは避けてください。割り当てられたネットワーク ドライブを使用すると、このフォーム テンプレートに基づいてフォームを作成するユーザーも、割り当てられたネットワーク ドライブからデータベースを検索することになります。ユーザーがネットワーク ドライブを割り当てていない場合、フォームはデータベースを検出できません。

  7. データベースの名前をクリックし、[開く] をクリックします。

  8. [テーブルの選択] ダイアログ ボックスで、使用する主テーブルまたはクエリをクリックし、[OK] をクリックします。

  9. ウィザードの次のページで、[テーブルの列を表示する] チェック ボックスをオンにします。

    既定では、テーブルまたはクエリ内のすべてのフィールドが、フォーム テンプレートのメイン データ ソースに追加されます。

  10. メイン データ ソースに含めないフィールドのチェック ボックスをオフにします。

  11. クエリ データ接続に含めるテーブルまたはクエリを追加します。

    その方法は?

    1. [テーブルの追加] をクリックします。

    2. [テーブルまたはクエリの追加] ダイアログ ボックスで、子テーブルの名前をクリックして、[次へ] をクリックします。InfoPath は、両方のテーブルのフィールド名を対応付けて、リレーションシップを作成します。提示されたリレーションシップを使用しない場合は、リレーションシップを選択し、[リレーションシップの削除] をクリックします。リレーションシップを追加するには、[リレーションシップの追加] をクリックします。[リレーションシップの追加] ダイアログ ボックスで、両方の列で関連するフィールドの名前をクリックし、[OK] をクリックします。

    3. [完了] をクリックします。

    4. 他の子テーブルを追加するには、上の手順を繰り返します。

  12. [次へ] をクリックします。

  13. フォームがネットワークに接続されていなくてもクエリ データ接続の結果を使用できるようにするには、[フォーム テンプレートのデータのコピーを保存する] チェック ボックスをオンにします。

    セキュリティに関するお知らせ : このチェック ボックスをオンにすると、フォームがこのデータ接続を使用するときに、ユーザーのコンピュータにデータが保存されます。フォームでこのデータ接続から機密データを取得している場合は、コンピュータの紛失または盗難の際にデータを保護できるように、この機能を無効にすることもできます。

  14. [次へ] をクリックします。

  15. ウィザードの次のページで、このセカンダリ データ接続にわかりやすい名前を付けて入力し、[概要] セクションの情報が正しいことを確認します。

  16. フォームを開いたときにデータを自動的に受信するようにフォームを構成するには、[フォームを開くとき自動的にデータを取得する] チェック ボックスをオンにします。

ページの先頭へ

手順 2: コントロールを構成する

  1. 複数のビューを持つフォーム テンプレートの場合、[表示] メニューの [<ビュー名>] をクリックして、セカンダリ データ ソースのデータを表示するコントロールがあるビューに移動します。

  2. 構成するフォーム テンプレート上のリスト ボックス、ドロップダウン リスト ボックス、またはコンボ ボックスのコントロールをダブルクリックします。

  3. [データ] タブをクリックします。

  4. [リスト ボックス項目] の [外部データ ソースの値を参照する] をクリックします。

  5. [データ ソース] の一覧で、使用するデータ ソースをクリックします。

  6. [エントリ] ボックスの横にある [データ ソース] ボタン (XPath の選択) をクリックします。

  7. [フィールドまたはグループの選択] ダイアログ ボックスで、次のいずれかの操作を行って、ユーザーに表示されるデータ、および外部データ ソースに送信されるデータがフィールドに含まれるフィールドまたはグループを指定します。

    ユーザーに表示されるデータとユーザーが送信するデータが同じであることを指定する

    • フィールドをクリックし、[OK] をクリックします。

    ユーザーに表示されるデータとユーザーが送信するデータが異なることを指定する

    注: この場合、ユーザーに表示されるデータはグループ内のいずれかのフィールドのものであり、ユーザーが送信するデータは同じグループの別のフィールドのものです。

    1. グループをクリックし、[OK] をクリックします。

    2. [<コントロール> プロパティ] ダイアログ ボックスで、[] ボックスの横にある [データ ソース] ボタン (XPath の選択) をクリックします。

    3. [フィールドまたはグループの選択] ダイアログ ボックスで、ユーザーが外部データ ソースに送信するデータを含むフィールドをクリックし、[OK] をクリックします。

    4. [<コントロール> プロパティ] ダイアログ ボックスで、[表示名] ボックスの横にある [データ ソース] ボタン (XPath の選択) をクリックします。

    5. [フィールドまたはグループの選択] ダイアログ ボックスで、コントロールに表示されるデータを含むフィールドをクリックし、[OK] をクリックします。

  8. [表示名] ボックスのフィールドに同じような表示名の値が含まれていて、一意の名前だけを表示したい場合は、[一意の表示名を持つ項目のみ表示する] チェック ボックスをオンにします。

ページの先頭へ

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

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

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

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

×