[Windowsシステム運用]
InfoPath−SQL Server連携で構築するC/Sシステム―― ストアド・プロシージャをInfoPathから実行。IT Proでも自力構築できるC/Sシステム入門 ――第3回 データ接続におけるSQL文を編集する1.InfoPathのデータ接続にSELECT文を記述する兵庫県立西宮香風高等学校システム管理課長Microsoft MVP for InfoPath 松本 吉生 2007/05/24 |
|
本連載では、SQL Serverのストアド・プロシージャをOffice InfoPathから利用する方法について解説する。InfoPathは電子フォーム・ソリューションの開発で利用されるアプリケーションであるが、SQL Serverを呼び出してデータを処理することもできる。Visual BasicやC#などでコードを記述する必要もない。前回は、データ接続のプロパティを変更して、より高度なSQLのクエリを実行する方法を解説した。 |
Index
|
||||||||||
|
InfoPathからSQL Serverに接続する「データ接続」は、ウィザードによって自動的に作成できる。このデータ接続は、SQL Serverに対するクエリであるので、ウィザードで生成されたSQL文を編集しても構わないし、まったく新しく自分で書いても構わない。ただしSQL文を自分で書く場合には、一定の制約があり、すべてのSQL文が使えるわけではない。今回はデータ接続にSQL文を書く場合の制約について説明し、さらにDELETE文を使う例について解説する。そして次回では、これらのSQL文をInfoPathから呼び出す方法について解説する。
InfoPathのデータ接続にSELECT文を記述する
InfoPathから接続するSQL Serverのテーブルとして、前回と同じ次のようなテーブルがあるとする。そしてあらかじめいくつかのデータをテーブルに保存しておく。
列名 | データ型 |
商品コード | PK,varchar(10) |
商品名 | varchar(50) |
作者 | varchar(50) |
発行所 | varchar(50) |
分類 | varchar(20) |
テーブル名「商品管理」 |
このテーブルに対して、InfoPathから「新しいフォームのデザイン」で「データ接続から新規作成」を行って、データ接続のウィザードを実行する。これまでの整理もかねて、もう一度データ接続ウィザードの流れをまとめよう。
手順1――フォームの新規作成
「フォームのデザイン」作業ウィンドウで「新しいフォームのデザイン」の「データ接続から新規作成」をクリックする。
新しいフォームのデザイン | |||
「データ接続から新規作成」で新しいフォームをデザインする。 | |||
|
手順2――SQL Serverへの接続
「フォームで使用するデータ接続の種類を選択してください」で「データベース(Microsoft SQL ServerまたはMicrosoft Office Accessのみ)」を選択し、[次へ]ボタンをクリックする。
データ接続の種類の選択 | ||||||
SQL Serverへの接続を選択する。 | ||||||
|
手順3――データソースの選択
[データベースの選択]ボタンをクリックし、[データファイルの選択]で[新しいSQL Server接続.odc]を選択して[開く]をクリックする。
|
|||||||||
データベースの選択 | |||||||||
[データベースの選択]ボタンをクリックしてウィザードを次へ進める。 | |||||||||
|
手順4――データベース・サーバへの接続
サーバ名を記述し[次へ]ボタンをクリックする。
データベース・サーバの選択 | ||||||
接続するSQL Serverと接続アカウント情報を指定する。 | ||||||
|
手順5――データベースとテーブルの選択
「使用するデータが含まれているデータベースを選択」でデータベース名を選択し、「指定したテーブルに接続」にチェックをして「商品管理」テーブルを選択する。[次へ]ボタンをクリックする。
データベースとテーブルの選択 | |||||||||
データベースとオープンするテーブルを選択する。 | |||||||||
|
手順6――設定の保存
「データ接続ファイルを保存して終了」で[完了]をクリックする。
データ接続ファイルの保存 | |||
データベースへの接続情報を保存しておく。 | |||
|
ウィザードを終了すると、指定したデータベースとテーブルに対してクエリを行うデータ接続が自動的に生成される。生成されたデータ接続は[SQLの編集]ボタンをクリックすると編集できる。
データ接続ウィザードの完了とSQLの編集 | ||||||
生成されたSQL文を編集することもできる。 | ||||||
|
ここで生成されているSQL文は次のようなものである。
select "商品コード","商品名","作者","発行所","分類" from "dbo"."商品管理" as "商品管理" |
これを次のように書き換える。
select "商品コード","商品名","発行所" from "dbo"."商品管理" where "発行所" = 'アトランティック' |
これは「商品管理」テーブルから「発行所」が「アトランティック」であるデータだけを抽出して、「商品コード」と「商品名」、「発行所」を表示する一般的なSQL文である。書き換えたら[SQLステートメントのテスト]ボタンをクリックし、SQL文が正しく認識できるかを確かめよう。「テストに成功しました。SQLステートメントには、InfoPathでXMLスキーマの作成に必要な情報があります。」とのメッセージが出たら、SQL文は正しく記述できている。
|
||||||||||||
SQL文を書き換える | ||||||||||||
|
SQLの編集を終了すると、フォームのデザイン画面に戻る。「データソース」作業ウィンドウには作成したデータソースが表示されており、「query Fields」と「data Fields」がある。どちらのフィールドも展開すると、それぞれに「商品コード」「商品名」「発行所」の、SQL文で指定したフィールドだけが表示されている。「商品管理」テーブルをフォームにドラッグして「繰り返しテーブル」を作成し、[フォームのプレビュー]ボタンをクリックしてフォームを表示させよう。
フォームの編集 | ||||||
フォームの編集画面に戻りフォームを編集する。 | ||||||
|
フォームをプレビューしたら[クエリの実行]ボタンをクリックしてデータを呼び出す。するとデータ接続に書いたSQL文どおり、テーブルから「発行所」が「アトランティック」のデータだけを呼び出せていることが分かる。
SQL文によるInfoPathのデータ取得結果 |
SQLの編集で書き換えたとおり、「発行所」が「アトランティック」のデータだけをInfoPathで取得することができた。 |
INDEX | ||
[Windowsシステム運用]InfoPath−SQL Server連携で構築するC/Sシステム | ||
第3回 データ接続におけるSQL文を編集する | ||
1.InfoPathのデータ接続にSELECT文を記述する | ||
2.InfoPathのデータ接続にサブクエリを記述する | ||
3.InfoPathのデータ接続にDELETE文を記述する | ||
運用 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|