ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

SQL Server に接続した InfoPath フォームのデータ接続を手作業で変更する – 繰り返しテーブルのデザインを生かすため、繰り返しテーブルのバインドを保持したまま接続するテーブルやビューを変更する

leave a comment »

InfoPath はデータ接続を SQL Server にすることができ、SQL Server に対するクライアントアプリケーションとして利用することができる。Visual Studio を使ってアプリケーションを開発することが簡単になったとはいえ、データベースアプリケーションを作るのは、やはり、それなりに難しい。そこでクライアントに InfoPath を使うメリットがある。

InfoPath は SQL Server へのデータ接続をウィザードで構成することができ、一行もコードを書かずにクライアントアプリケーションにすることができる。また InfoPath フォームに繰り返しテーブルを作ると、簡単にデータ接続にバインドできる。このとき、繰り返しテーブルの列幅やコントロールの変更、コントロールのプロパティ変更、条件付き書式、動作規則などを設定した後で、データ接続を変更したいことがある。データ元のテーブルやビューを切り替えたい場合だ。

いちど構成したデータ接続は、ウィザードでいつでも変更することができる。しかしウィザードでデータ接続を変更すると、デザインされた繰り返しテーブルとデータ接続の関連付けが壊れ、もう一度繰り返しテーブルのデザインをやり直さなければならなくなる場合がある。繰り返しテーブルの関連付けが壊れると、フィールドに赤の「×」が表示される。

blog_講座一覧_010_mid_640

<Fig.1 : デザインされた繰り返しテーブルをもつフォームのデータ接続を変更して関連付けが壊れた>

手間をかけてデザインした繰り返しテーブルは、できればそのまま使いたい。このとき、次のようにデータ接続の SQL 文を手作業で変更すると、データ接続と繰り返しテーブルの関連付けを壊すことなく接続元の SQL Server のテーブルやビューを変更することができる。

データ接続ウィザードを起動してデータ接続の編集をする。あらかじめ設定されたデータ接続を表示し、接続する SQL Server のフィールドが表示されたら「SQL の編集」ボタンをクリックして SQL 文を直接編集する。

blog_講座一覧_001_edit_mid_640

<Fig.2 : データ接続ウィザードでデータソースを編集する>

「SQL の変種」をクリックすると、設定された SQL Server へ接続する SQL 文が表示される。ここで接続先のテーブルまたはビューの名前だけを変更する。

ここでは、もともと「v_講座一覧」というビューに接続していたが、表示したいフィールドを増やした新しいビュー「v_テスト用の講座一覧」というビューに変更している。

blog_講座一覧_004

<Fig.3 : 変更する前のデータ接続の SQL 文>

blog_講座一覧_006

<Fig.4 : 変更後のデータ接続の SQL 文>

SQL 文を変更すると、変更したテーブルまたはビューのフィールドがデータ接続ウィザードに表示される。追加したい必要なフィールドにチェックを入れる。

blog_講座一覧_014_mid_640

<Fig.5 : 接続先を変更したビューのフィールドが表示される>

blog_講座一覧_015_mid_640

<Fig.6 : 表示したいフィールドにチェックを入れる>

データ接続の編集を終わってフォームのデザインに戻ると、繰り返しテーブルにエラーは表示されず、テーブルとデータ接続のバインドが保持され、壊れていないことがわかる。あとは繰り返しテーブルに列を追加し、新たに接続したフィールドを構成すればいい。

blog_講座一覧_016_mid_640

<Fig.7 : 繰り返しフィールドとデータ接続のバインドは保持され、必要なフィールドを追加する>

InfoPath の特徴は、データ接続をウィザードで簡単に構成することができ、繰り返しテーブルの項目も単なるテキストボックスからドロップダウンリストボックス、チェックボックス、ラジオボタンなどに簡単に変更することができること、また条件付き書式や動作規則で表示を変えたり、データを変更したときに動作をさせたりする設定ができることだ。しかし使いやすいフォームを構成するには、繰り返しテーブルの要素を、それなりの手間と時間をかけて編集することになる。繰り返しテーブルを構成した後でデータ接続を変更し、せっかく時間をかけてデザインした繰り返しテーブルのバインドが壊れて使えなくなってしまうのはもったいない。データ接続の SQL 文をうまく編集して、時間と手間をかけて作った繰り返しテーブルのデザインが活かせるようにしよう。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。