Written by: tomi on 2010/08/04 @ 03:04
MicrosoftSQLServerとMicrosoftInfoPathで,データベースシステムの「個別の指導計画」を開発するために,InfoPathからSQLServerに接続する |
1.InfoPathを開き,データ接続の設定をする
InfoPathを開くと「作業の開始」ウィンドウが開く。「フォームのデザイン」から「フォームテンプレートのデザイン」をクリック。
「新しくデザイン」から「データベース」を選択
下段の「ブラウザ互換性の機能のみを有効にする」はOFFとして「OK」
「データ接続ウィザード」が立ち上がる
「データベースの選択」をクリック
「データ接続ウィザード」にもどり,「Microsoft SQL Server」を指定して,「次へ」
「サーバー名」は,サーバーコンピューター名とSQLServer名を入力
「Windows認証を使用する」を選択して,「次へ」
※SQLServerManagementStudioのログイン画面で確認できる
※「Windows認証」:使用しているWindowsのユーザーをSQLServerのユーザーとして使う認証方法 WindowsServerのActiveDirectoryのユーザーでも可能
ManagementStudioで作成した[個別の指導計画]データベースを選択
<基本T>を選択し,「指定したテーブルに接続」をONにして,「次へ」
※<基本T>が[個別の指導計画]データベースの核となるテーブルである
「データソース構造」に<基本T>のフィールドがツリー上に表示される
確認して,「次へ」
※本来は続きで必要なテーブルを追加するが,今回はデータ接続ができることを説明するために,<基本T>のみで先に進める
「この接続での送信を有効にする」がONになっていることを確認して「完了」
※データを入力し,SQLServerに送って保存させるために ,「この接続での送信を有効にする」がONになっている必要がある
「データソース」が作業ウィンドウに表示され,下図のようになればデータ接続の設定は成功している
2.SQLServerとデータがやり取りできるかを確認する
2-1.クエリフィールドを配置する
「queryFields」を展開すると,<q:基本T>が表示され,さらに展開するとそのフィールドが表示される
<q:基本T>をドラッグして,「新しいレコード」ボタンの下の欄「ここにクエリフィールドをドラッグしてください」にドロップする
2-2.データフィールドを配置する
「dataFields」を展開すると,<d:基本T>が表示され,さらに展開するとそのフィールドが表示される
<d:基本T>をドラッグして,「クエリの実行」ボタンの下の欄「ここにデータフィールドをドラッグしてください」にドロップする
2-3.プレビュー(実際の入力画面)を表示する
別のウィンドウが立ち上がり,実際にデータが入力できる画面になる
2-4.データを入力してみる
「フォームは正しく送信されました」という表示がでるとSQLServerにデータが送られ保存される →「OK」
2-5.SQLServerにデータが送られているか確認する
ManagementStudioで<dbo.基本T>を右クリック→「上位200行の編集」
テーブルに保存されているデータが表示される
InfoPathから入力したデータが保存されていることが確認できる
2-5.SQLServerからデータが呼び出せるか確認する
InfoPathのプレビュー画面に戻り,「新しいレコード」をクリックして,先ほど入力したデータを空にする
3.データの入力とデータの呼び出しの演習
※SQLServerとInfoPathでデータをやり取りすることができることは確認できたが,入力と呼び出しになれるため,数名分のデータを入力する演習をしてみることにする
下の段に,新たなデータを一件入力し,その下にある「項目の挿入」をクリック
名前の欄に先ほど入力した名前のどれかを入力し,「クエリの実行」をすると該当のデータが下の段に表示される
呼び出したいデータの入力が不完全だったり一文字でも間違っていると,警告が表示され,データは呼び出されない
更新者に同じデータを複数入れているので,データとして入っている分が表示される
呼び出す条件をなしにして「クエリの実行」を行うと,すべてのデータが表示される
※クエリフィールド(q:がついているテーブル)はデータを呼び出す条件,データフィールド(d:がついているテーブル)はデータの本体と考えるとよい
※データの本体そのものは,SQLServerにある
このようにデータの本体部分とデータを操作する部分を分けて作ることで,データベースをネットワーク上から複数のパソコンで同時に使用することができる
※SQLServerを「バックエンド」,InfoPathを「フロントエンド」と呼ぶ
Catogories: SQLServerとInfoPath