Microsoft Access データベースに基づくフォーム テンプレートをデザインする

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

Microsoft Office Access データベースと連携して動作する Microsoft Office InfoPath フォーム テンプレートをデザインして、データのクエリ、またはデータのクエリと送信を行うことができます。このフォーム テンプレートは、Microsoft Office Access 2007 (.accdb 形式) データベースまたは以前のバージョン (.mdb 形式) で保存された Access データベースを基にして作成できます。

この記事の内容

概要

互換性に関する考慮事項

始める前に

フォーム テンプレートをデザインします。

送信オプションを構成します。

概要

フォームには、メイン データ接続と呼ばれるプライマリ データ接続を 1 つ設定でき、メイン データ接続には、オプションとして 1 つまたは複数のセカンダリ データ接続を設定できます。メイン データ接続を使用すると、Access データベースに対してフォーム データのクエリまたは送信を行うことができます。また、セカンダリ データ接続を使用すると、外部データ ソースに対してデータのクエリと送信を行うこともできます。ただし、いくつかの例外はあります。たとえば、Access データベースへのセカンダリ データ接続は、データベースのクエリにしか使用できません。フォーム データを直接 Access データベースに送信するセカンダリ データ接続をフォームに追加することはできません。

Access データベースに基づくフォーム テンプレートをデザインする際に、InfoPath はクエリ フィールドとデータ フィールドが含まれるグループとメインデータ ソースを作成し、また、フォーム テンプレートのメインのデータ接続としてクエリ データ接続を作成します。これらのフィールドおよびグループで、データベースのテーブルにデータが保存されていることに対応しています。

クエリのフィールドには、クエリのフィールドのデータに一致するレコードをクエリ結果を制限するユーザーがフォームに入力されたデータが含まれています。このフォーム テンプレートに基づくフォームをメイン データ接続を使用する場合は、クエリ フィールドのデータを使用してクエリが作成されます。InfoPath では、データ接続を使用して、クエリを送信します。データベースは、データ接続をフォームにクエリの結果を返します。データのフィールドは、これらのデータ フィールドにバインドされているフォーム上のコントロールを使用して編集するのには、クエリの結果が入ります。

クエリのデータ構造とデータ フィールドはデータベース内のデータの格納方法と一致している必要があるため、メイン データ ソースのこれらのフィールドまたはグループを変更することはできません。メイン データ ソースのルート グループにフィールドまたはグループを追加することのみが可能です。データ ソースの詳細については、[参照] セクションのリンクを参照してください。

フォームはことができますが、フォームの基にしたフォーム テンプレートとデータベースは、次の要件を満たしている場合フォームのメイン データ接続を使用してデータベースにデータを送信します。

  • フォーム テンプレートにはブラウザー互換フォーム テンプレートではなく   ブラウザー互換フォーム テンプレートをデザインする場合は、InfoPath はメイン データ接続のない送信データ接続を作成します。ブラウザー互換フォーム テンプレートに基づくフォームのデータを送信するユーザーを許可するには、データベースと連携する Web サービスを使用します。

  • メインのデータ ソース内の関連テーブルのペアごとの左側のテーブルには、主キーが含まれています。   左側のテーブルから主キーを 1 つ以上の関連テーブルのペアごとの参照関係の必要があります。

  • フォーム ストア大きいバイナリ データ型の主なデータ ソース内のデータ フィールドの [なし]   クエリには、画像、画像、OLE オブジェクト、添付ファイル、Office Access メモ データ型、または SQL データ型など、大きなバイナリ データ型に格納できるフィールドが含まれている場合は、InfoPath が送信データ接続を無効になります。

InfoPath によって送信データ接続が有効にされると、ユーザーは、メイン データ ソースのデータ フィールドに格納されているデータをデータベースに送信できるようになります。このフォーム テンプレートに基づくフォームの送信オプションはカスタマイズできます。

ページの先頭へ

互換性に関する考慮事項

Access データベースに基づくブラウザ互換フォーム テンプレートはデザインできません。

ページの先頭へ

はじめに

Access データベースに基づくフォーム テンプレートを正しくデザインするには、事前に Access データベースに関する次の情報を入手しておく必要があります。

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

    注: ユーザーがアクセスできるネットワーク上の場所にデータベースがあることを確認してください。

  • ユーザーによるデータベースへのフォームの送信をフォーム テンプレートで許可する場合は、送信されたデータを受信するテーブルの名前。送信データ接続を構成するときには、このテーブルを主テーブルとして使用します。

  • フォーム テンプレートで実行するのがデータベースのクエリだけの場合は、データベースに送信されたクエリの結果を提示するテーブルの名前。クエリ データ接続を構成するときには、このテーブルを主テーブルとして使用します。

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

ページの先頭へ

フォーム テンプレートをデザインする

クエリ データ接続を使用するフォーム テンプレートをデザインするには、最初にフォーム テンプレートを作成する必要があります。データベースに基づくフォーム テンプレートを作成すると、フォーム テンプレートとデータベースの間のメイン データ接続としてクエリ データ接続が作成されます。このプロセスでは、フォーム テンプレートのメイン データ ソースが自動的に作成されます。

フォーム テンプレートを作成したら、そのフォーム テンプレートにコントロールを追加し、そのコントロールをメイン データ ソースのフィールドにバインドします。これにより、フォームのクエリの結果をユーザーが表示できるようになります。

手順 1: フォーム テンプレートを作成する

  1. [ファイル] メニューで [フォーム テンプレートのデザイン] をクリックします。

  2. [フォーム テンプレートのデザイン] ダイアログ ボックスで、[新しくデザイン] の [フォーム テンプレート] をクリックします。

  3. [種類] ボックスの一覧の [データベース] をクリックし、[OK] をクリックします。

    データ接続ウィザードが起動します。

  4. データ接続ウィザードの最初のページで、[データベースの選択] をクリックします。

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

    注: データベースは、ネットワーク上の場所に格納されている場合は、その場所の汎用名前付け規則 (UNC) パスを参照します。対応付けられているネットワーク ドライブを通じてネットワーク上の場所を参照します。ネットワーク ドライブを使用している場合は、このフォーム テンプレートに基づくフォームを作成するユーザーはネットワーク ドライブからデータベースを検索します。ユーザーには、ネットワーク ドライブがない、フォームには、データベースは検索されません。

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

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

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

  9. 既定では、テーブル内のすべてのフィールドが、フォーム テンプレートのメイン データ ソースに追加されます。メイン データ ソースに追加しないフィールドがある場合は、そのフィールドのチェック ボックスをオフにします。

    クエリ データ接続で使用するその他のテーブルまたはクエリを追加します。

    方法

    1. [追加] をクリックします。

    2. 追加のテーブルまたはクエリ] ダイアログ ボックスで、子のテーブルの名前をクリックし、[次へ] をクリックします。InfoPath では、両方のテーブルのフィールド名と一致する、リレーションシップを設定を試みます。お勧めのリレーションシップを使用しない場合は、リレーションシップを選択し、[リレーションシップの削除] をクリックします。リレーションシップを追加するには、リレーションシップの追加] をクリックします。リレーションシップの追加] ダイアログ ボックスでは、[それぞれの列では、関連する各フィールドの名前をクリックし、[ OK] をクリックします。

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

    4. 子テーブルを追加するには、これらの手順を繰り返してください。

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

  11. ウィザードの最後のページで、メイン データ接続の名前を入力します。この名前は、[データ ソース] 作業ウィンドウの [データ ソース] ボックスの一覧に表示されます。

  12. フォーム テンプレートがOverview ] セクションの要件を満たしている場合、ウィザードのこのページの概要] セクションは、InfoPath がメインのデータ接続の送信データ接続を有効になっているが表示されます。

  13. 送信データ接続の名前を変更するには、該当するボックスに新しい名前を入力します。

  14. 後でフォーム テンプレートに別の送信データ接続を追加して、その送信データ接続を介してユーザーがフォーム データを送信できるようにするには、[この接続での送信を有効にする] チェック ボックスをオフにします。

    注: フォーム テンプレートが [概要] セクションの要件を満たしていない場合は、InfoPath の送信データ接続を無効にし、[送信接続の名前を入力] ボックスおよびこの接続の送信を有効にする] チェック ボックスは使用できません。送信データ接続は無効になり、フォーム テンプレートのメイン データ接続がクエリのデータ接続のみが含まれます。

手順 2: コントロールをフィールドにバインドする

  1. [コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。

  2. コントロールをフォーム テンプレートにドラッグします。

  3. [コントロールのバインド] ダイアログ ボックスで、コントロールをバインドするフィールドを選択します。

ページの先頭へ

送信オプションを構成する

フォーム テンプレートと、データ接続ウィザードで選択したテーブルは、[概要] セクションの要件を満たす、InfoPath は、メイン データ接続を使用してデータを送信するフォーム テンプレートを構成します。

この送信データ接続の使用を選択すると、ユーザーがフォーム データをデータベースに送信できるようにフォーム テンプレートが構成され、[標準] ツールバーに [送信] ボタンが追加され、さらにフォームの [ファイル] メニューに [送信] コマンドが追加されます。また、ユーザーがフォームを送信したときにフォームが開いたままになり、フォームの送信が成功したかどうかを示すメッセージが表示されるようにフォーム テンプレートが構成されます。[送信] ボタンに表示されるテキストは変更でき、ユーザーがフォームを送信した後のフォームの動作も変更できます。

  1. [ツール] メニューの [送信オプション] をクリックします。

    1. ユーザーがフォームに入力する時に [標準] ツールバーに表示される [送信] ボタンの名前と、[ファイル] メニューに表示される [送信] コマンドの名前を変更するには、[送信オプション] ダイアログ ボックスの [キャプション] ボックスに新しい名前を入力します。

      ヒント: このボタンとコマンドにショートカット キーを割り当てる場合は、キーボード ショートカットとして使用する文字の前にアンパサンド (&) を入力します。たとえば、[送信] ボタンのキーボード ショートカットとして ALT+B を割り当てるには、「Su&bmit」と入力します。

  2. ユーザーがフォームに入力する時に [送信] コマンドまたは [標準] ツールバーの [送信] ボタンを使用できないようにする場合は、[送信メニューおよび送信ツール バーを表示する] チェック ボックスをオフにします。

    1. 既定では、ユーザーがフォームを送信した後もそのフォームは開いたままになり、フォームの送信が正常に終了したかどうかを示すメッセージが表示されます。この既定の動作を変更するには、[詳細設定] をクリックし、次のいずれかの操作を行います。

      • ユーザーが入力済みのフォームを送信した後で、そのフォームを閉じるか新しい空のフォームを作成する場合は、[送信後] ボックスの一覧で目的のオプションをクリックします。

      • フォームが正常に送信されたかどうかを示すメッセージを独自に作成する場合は、[ユーザー設定のメッセージを使用する] チェック ボックスをオンにし、[成功時] と [失敗時] の両方のボックスにそれぞれメッセージを入力します。

        ヒント: [失敗時] ボックスのメッセージには、フォームを送信できなかった場合の対処法を含めます。たとえば、フォームを保存したうえで関係者に問い合わせるようにユーザーに促すメッセージを入力できます。

      • ユーザーがフォームを送信した後に確認メッセージを表示しない場合は、[成功時および失敗時にメッセージを表示する] チェック ボックスをオフにします。

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

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

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

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

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

×