[Windowsシステム運用]
InfoPath−SQL Server連携で構築するC/Sシステム

第2回 InfoPathのデータ接続を編集する

2.データソースのデータの並べ替え順序を変更する

兵庫県立西宮香風高等学校システム管理課長
Microsoft MVP for InfoPath
松本 吉生
2007/02/22

 いまここでは、データベースからデータを並べ替えて取得するために、SQLを直接編集した。しかしデータ接続で取得するデータを並べ替えるだけなら、SQL文を直接書き換える必要はない。データ接続ウィザードのデータソース構造を確認するウィンドウで、[テーブルの変更]ボタンをクリックして設定すればよいのである。[テーブルの変更]という名称は、接続先のテーブルを別のテーブルに変えるような意味に取れるが、実際はテーブルの[並べ替え順序]を変更するボタンである。[テーブルの変更]ボタンをクリックすると[並べ替え順序]のウィンドウが表示される。この場合は、すでにSQLを編集して[分類]で並べ替える設定をしてあるので、[最優先されるフィールド]に[分類]が[昇順]に設定されていることが確認できる。つまり、このウィンドウの表示はSQL文と連動している。

「並べ替え順序」を変更する
SQL文を変更しなくても、[テーブルの変更]で並べ替え順序を変更することができる。
  [テーブルの変更]ボタンをクリックする
  すでにSQLの編集を行っているので、[分類]を[昇順]で並べ替える設定ができている。

 しかしこの[並べ替え順序]のウィンドウでは、最大でも3つのフィールドでしか並べ替えることはできない。しかしSQL文の編集ならば、order byの後にフィールド名を指定すれば、4つ以上の項目で並べ替えを指定することができる。一例として、実際的ではないかもしれないが、例えば次のようなSQL文を書けば、「分類」「発行所」「作者」「商品名」の4項目で並べ替えをすることができる。

select "管理番号","仕入日","商品名","仕入れ先" from "dbo"."在庫管理" as "在庫管理" order by "分類","発行所","作者","商品名"

※赤字部分は編集して付け加えた部分

より複雑な並べ替え順序の指定
SQL文を編集すれば、より多くのフィールドで並べ替えることもできる。
  order byの後に「,」で区切って4つのフィールドを追加指定している。

 このSQL文で[OK]ボタンをクリックすると、「入力されたSQLステートメントはツリービューで表示できません。続行しますか?」というダイアログ・メッセージが表示されるが、データ接続の機能に問題があるわけではない。[はい]をクリックしてウィザードを進めると、次の画面ではデータソース構造の確認はできないが、心配せずそのまま続行しよう。さらに[次へ]をクリックすると、「クエリが安全であるかどうか判断できない」といったメッセージが表示されるが、これも[はい]をクリックして続行しよう。

データソースの構造がツリー・ビューに表示できない状態
SQL文の書き方によっては、このように「ツリー・ビューで表示できない」「クエリが安全でない」というメッセージが表示されるが、データ接続に問題があるわけではないので心配しなくていい。
  ツリー・ビューで表示できないというメッセージ。
  ツリー・ビューで表示できないというメッセージ。
  クエリが安全であるかどうか判断できないというメッセージ。

 このように編集されたセカンダリ・データソースは、通常のデータ接続で作られたものと同様に[データ接続]作業ウィンドウに表示され、セカンダリ・データソースとして利用できる。


 INDEX
  [Windowsシステム運用]InfoPath−SQL Server連携で構築するC/Sシステム
  第2回 InfoPathのデータ接続を編集する
    1.InfoPathのデータ接続の編集
  2.データソースのデータの並べ替え順序を変更する
    3.メイン・データソースのデータをリストボックス項目として利用する
    4.セカンダリ・データ接続を編集し、distinct句を利用する
    5.ユーザー名や日付、時刻を取得する
    6.SQL Serverから取得したデータの利用
 
 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間