トップ > スキル : アプリケーション > Access(アクセス) > データベースシステム(クエリの作成)
クエリの作成4
その他のクエリ作成
さらにフォームやレポートのコントロールソース(基データ)となるクエリをいくつか作成していきます。
Q 売上(顧客別)
顧客ごとの売上をクエリで作成します。基となるテーブルは、[売上テーブル]と[顧客テーブル]になります。
① デザインビューで作成し、[売上テーブル]と[顧客テーブル]のフィールドリストを追加します。
② 以下の表を参考に上から順番にデザイングリッドに[フィールド名]を追加します。そして、「売上(顧客別)」という名前で保存します。
テーブル名 | フィールド名 |
顧客テーブル | 会社名 |
売上テーブル | 売上NO |
売上テーブル | 社員ID |
売上テーブル | 売上日 |
売上テーブル | 発注書番号 |
顧客テーブル | 顧客ID |
③ データシートビューに切り替えて、表示を確認します。
実際の運用上ではクエリ自体から、データ(レコード)を新規登録、更新、削除することはあまりしません。
なぜなら、通常業務の作業はフォームまたはレポートで扱ったほうが操作感は優れているからです。このことから、クエリはこれから作成するフォームやレポートの基となるレコードを集約するためのオブジェクトとして捉えると、クエリの役割が理解できるはずです。
Q 売上検索(顧客別)
売上管理で行う処理には、顧客ごとの売上状況を調べる作業があります。また、商品ごとの売上状況も然りです。
これから顧客ごとの売上を検索するクエリを作成しますが、会社名がすべて分からなくても、一部の名称だけで検索できる“あいまい検索”を利用したクエリを作成します。
① クエリをデザインビューで新規作成します。
[顧客テーブル]、[売上テーブル]、[売上詳細テーブル]、[商品テーブル]のフィールドリストを追加します。
② 以下の表を参考に上から順番に[デザイングリッド]にフィールドを追加します。
テーブル名 | フィールド名 |
顧客テーブル | 顧客ID |
顧客テーブル | 会社名 |
顧客テーブル | 姓 |
顧客テーブル | 名 |
売上詳細テーブル | 売上NO |
売上詳細テーブル | 商品ID |
売上詳細テーブル | 数量 |
商品テーブル | 単価 |
売上詳細テーブル | 割引率 |
売上テーブル | 売上日 |
③ 「売上検索(顧客別)」という名前で保存します。
④ データシートビューに切り替えて、表示を確認します。
⑤ デザインビューに切り替えます。
[会社名]フィールドの[抽出条件]行に「Like "*" & [会社名を入力してください] & "*"」と入力します。英数と記号は半角入力で行い、&の前後には半角空白を入れます。
⑥ クエリを実行します。ツールバーの[ビュー]ボタンか、[実行]ボタンをクリックします。
「パラメータの入力」画面が表示されます。「大崎」と入力して、[OK]ボタンをクリックします。
⑦ 会社名に「大崎」という文字が存在する会社名が表示されます。上書き保存をしてクエリは閉じておきます。
Q 売上検索(商品別)
先ほどの顧客検索と同様に各商品の売上を検索するクエリを作成します。基となるテーブルは、「Q売上検索(顧客別)と同じですので、クエリをコピーして、編集する方法で行なうと作業時間を短縮できます。
① 「Q売上検索(顧客別)クエリを選択して、Ctrl+Cキーを押します。次に、Ctrl+Vキーを押します。
[貼り付け]ウィンドウが表示されます。「Q売上検索(商品別)」と入力して、[OK]ボタンをクリックします。
② 作成した「Q売上検索(商品別)」クエリをデザインビューで開きます。
会社名フィールドの抽出条件を削除します。
デザイングリッドの[商品ID]と[数量]フィールドの間に[商品テーブル]フィールドリストから[商品名]フィールドを挿入します。また、[商品ID]の表示のチェックボックスはOFFにします。
③ [商品名]フィールドの[抽出条件]行に「Like "*" & [商品名を入力してください] & "*"」と入力します。
④ クエリを実行します。
[パラメータの入力]ウィンドウが表示されたら、「缶ビール」と入力して、[OK]ボタンをクリックします。
⑤ 実行の結果が表示されます。
[商品名]に「缶ビール」という名前が含まれるものだけが表示されていることが確認できます。
上書き保存をしてクエリは閉じます。
ここまでクエリの作成を紹介してきました。クエリをそのまま使って運用はしません。フォームやレポートのコントロールソース(基となるデータ)として利用されるのがクエリの基本的な役割となります。これからフォームやレポートの作成をしていきますが、その場で必要と思ったときは、クエリを新たに作って、そのクエリを基にフォームやレポートを作ることになります。