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

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

Microsoft SQL Server データベースと連動し、データのクエリ、またはデータのクエリと送信の両方を行うことができるフォーム テンプレートをデザインできます。

このトピックの内容

概要

互換性に関する考慮事項

始める前に

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

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

概要

フォームには、メイン データ接続と呼ばれる 1 つのプライマリ データ接続を設定できます。また、1 つ以上のセカンダリ データ接続を設定できます (省略可能)。データ接続では、フォームの目的に従って、Microsoft SQL Server データベース、Web サービスなど、外部データ ソースにフォーム データのクエリまたは送信を行うことができます。

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

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

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

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

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

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

送信データ接続が有効になると、ユーザーはメイン データ ソースのフィールドのデータをデータベースに送信できます。送信データ接続が有効の場合、このフォーム テンプレートに基づくフォームの送信オプションをカスタマイズできます。

ページの先頭へ

互換性に関する考慮事項

データベースに基づくフォーム テンプレートをデザインする場合、ブラウザー互換フォーム テンプレートをデザインできます。InfoPath はブラウザ互換のフォーム テンプレートのメイン データ接続として、クエリ データ接続を作成します。ただし、ユーザーがデータベースにデータを送信できるように、ブラウザ互換のフォーム テンプレートを構成することはできません。したがって、SQL Server データベースに基づくフォーム テンプレートをデザインしていて、ユーザーがメイン データ接続を通じてデータベースにフォーム データを送信できるようにしたい場合は、そのフォーム テンプレートをブラウザ互換にすることはできません。

ページの先頭へ

はじめに

SQL Server データベースに基づくフォーム テンプレートをデザインするには、データベース管理者から次の情報を入手する必要があります。

  • フォーム テンプレートの接続先となるデータベースを含むサーバーの名前。

  • このフォーム テンプレートで使用するデータベースの名前。

  • データベースで要求される認証。データベースでは、Microsoft Windows 認証または SQL Server 認証を使用して、ユーザーがデータベースにどのようにアクセスできるかを判断できます。

  • フォームに送信するデータを含むテーブルまたはフォームからデータを受信するテーブルの名前。これは主テーブルです。データベース内の複数のテーブルを使用する場合、それらの子テーブルの名前が必要です。また、主テーブルのフィールドとの間にリレーションシップが確立されている子テーブルのフィールドの名前も必要です。

ページの先頭へ

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

クエリ データ接続を使用するフォーム テンプレートをデザインするには、次の操作を行う必要があります。

  1. フォーム テンプレートを作成する    データベースに基づくフォーム テンプレートを作成すると、フォーム テンプレートとデータベースの間のメイン データ接続としてクエリ データ接続が作成されます。この処理では、フォーム テンプレートのメイン データ ソースが自動的に作成されます。

  2. クエリの結果を表示する 1 つまたは複数のコントロールを追加します。   フォームを開いたときに、メインのデータ ソース内のフィールドのデータを編集するユーザーは、フォーム テンプレートにコントロールを追加し、そのコントロールをメイン データ ソース内のフィールドにバインドすることができます。

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

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

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

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

  4. ブラウザ互換のフォーム テンプレートをデザインしている場合は、[ブラウザ互換の機能のみを有効にする] チェック ボックスをオンにします。

    注: データ接続ウィザードでは、ブラウザ互換のフォーム テンプレートの送信データ接続は有効になりません。ユーザーがブラウザ互換のフォーム テンプレートに基づくフォームからデータベースにデータを送信できるようにするには、データベースと連動する Web サービスへのセカンダリ データ接続を追加します。セカンダリ データ接続の詳細については、[参照] セクションのリンクを参照してください。

  5. [OK] をクリックします。

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

  7. [データ ソースの選択] ダイアログ ボックスで、[新しいソース] をクリックします。

  8. [接続するデータ ソースの種類を指定してください] ボックスの一覧で [Microsoft SQL Server] をクリックし、[次へ] をクリックします。

  9. [サーバー名] ボックスに、SQL Server データベースを含むサーバーの名前を入力します。

  10. [ログイン時の証明] で、次のいずれかの操作を行います。

    • データベースで、Microsoft Windows ネットワークで使用される証明に基づいてアクセス権があるユーザーを確認する場合は、[Windows 認証を使用する] をクリックします。

    • データベースで、データベース管理者から入手する指定のユーザー名とパスワードに基づいてアクセス権があるユーザーを確認する場合は、[以下のユーザー名とパスワードを使用する] をクリックし、[ユーザー名] ボックスと [パスワード] ボックスにユーザー名とパスワードを入力します。

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

  12. [使用するデータが含まれているデータベースを選択] ボックスの一覧で、使用する新しいデータベースの名前をクリックし、[指定したテーブルに接続] チェック ボックスをオンにし、主テーブルの名前をクリックして、[次へ] をクリックします。

  13. ウィザードの次のページで、[ファイル名] ボックスにデータ接続情報を保存するファイル名を入力して、[完了] をクリックしてこれらの設定を保存します。

    クエリ データ接続で他のテーブルを使用する予定がある場合は、ウィザードのこのページで他のテーブルを追加できます。

    方法

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

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

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

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

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

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

  16. フォーム テンプレートがOverview ] セクションの要件を満たしている場合、ウィザードのこのページは InfoPath がメインのデータ接続の送信データ接続を有効になっているを指定します。送信データ接続の名前を変更するには、該当のボックスに新しい名前を入力します。ユーザーが別の使用してフォーム データの送信後で、フォーム テンプレートに追加するデータ接続を送信する場合は、この接続の送信を許可する] チェック ボックスをオフにする] をクリックします。

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

手順 2: クエリの結果を表示する 1 つまたは複数のコントロールを追加します。

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

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

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

ページの先頭へ

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

フォーム テンプレートと、データ接続ウィザードで選択したテーブルは、[概要] セクションの要件を満たす、InfoPath は、メイン データ接続を使用してデータを送信するフォーム テンプレートを構成します。使用する場合は、この送信データ接続、InfoPath は、ユーザーがデータベースにフォーム データを送信できるように、フォーム テンプレートを構成し、ユーザーがフォームに入力するときに、[標準] ツールバーと[ファイル] メニューには、[送信] を[送信] ボタンを追加します。InfoPath も、フォーム テンプレートできるように構成、ユーザーは、ユーザーがフォームを送信するときに、フォームを開いたまま、ユーザーに、フォームが正常に送信されたかどうかを示すメッセージが表示されます。ユーザーがフォームを送信した後は、[送信] ボタンと動作上のテキストを変更できます。

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

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

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

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

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

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

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

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

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

ページの先頭へ

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

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

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

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

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

×