基本的なクエリの作成
デザイナー画面の左ペインからCusutomersの「クエリの編集」をクリックする。
表示されたクエリデザイナでフィルターの追加をクリック。
フィルター条件として以下のように追加。
また、並べ替えも指定する。
これで実行すると、アメリカとカナダの顧客だけがCity順に表示されるようになる。
クエリに基づいた画面の作成
まず、クエリーを作るにはソリューションエクスプローラの「Products」を右クリックして「クエリーの追加」を選択。
表示されてクエリーデザイナーで「フィルター」と「並べ替え」を以下のように指定。
これで生産中止になっていない商品が名前順に抽出される。
次に、ツールバーの「画面の追加」をクリックし表示されてた画面の追加ダイアログで適当な画面名を指定し、「画面データ」に今作ったクエリーを指定する。
これを実行すると以下のようにクエリーデータに基づいた商品の一覧詳細画面が表示される。
ちなみに、作成したクエリーはソリューションエクスプローラーにて基となるテーブルの配下に表示される。
基本的なクエリーの作成と何が違うのかというと、こちらはどう考えてもデータを取得するSQL自体にWhere条件が入っていると考えられるので、基本的なクエリーは全データを持ってきて画面上でのクエリーなのかもしれない。
いや、・・・。
説明を読んでみると、
この種類のクエリはグローバル クエリとして知られています。複数の画面で再利用することができます。両方が同じエンティティ型を返す限り、グローバル クエリを新しいグローバル クエリのソースとして使用できます。
とあるので、単にその画面でしか使えないクエリーと共用クエリーの違いなのかもしれない。
パラメーター クエリの作成
ソリューションエクスプローラからProductsテーブルを右クリックしクエリーを追加。
追加内容は以下の通り。
画面でのパラメーター クエリの使用
ソリューションエクスプローラでCurrentProductListをダブルクリックし、デザイナー画面を表示。
データ項目の追加ダイアログで「ProductByCatogory」クエリーを選択してOK
左ペインにProductByCategoryが追加されるので「クエリーパラメータ」からCategoryIDを選択しプロパティウインドウの「パラメータバインド」欄に「CurrentProduct.SelectedItem.CategoryID」を指定する。
ちなみに、「パラメータバインド」欄にカーソルを置くと以下のような表示になるが、
これはコーディング時にインテリセンスが効いた時と同じ状態である。
なので、この状態でタブキーを押すと、「CurrentProduct」が入力される。
続けてピリオドを入力すると、
「SelectedItem」が選択候補として表示されるのでそのままタブキーを押す。
また、続けてピリオドを入力すると、
選択候補が3つ表示されるので「C」を入力し「CategoriID」が選択された状態でタブキーを押せばよい。
普段コーディングするときと全く同じなので楽ちんだ。
次に、画面にクエリー結果を表示させるために表示コントロールを追加する。
追加方法は、
中央ペインのコントロールツリーから「行のレイアウト Details Column」を選択し表示された「追加ボタン」をクリックして表示されたメニューから「Products By Category」をクリックする。
実行すると以下のように選択した「Products」の詳細データの下に、同じカテゴリーを持つ商品が一覧で表示される。
ちなみに、上記メニューで「- Seleted Item」の方を選んでしまうと、同一カテゴリーの先頭データだけが明細表示されてしまうようだ。
0 件のコメント:
コメントを投稿