2019年02月21日
Accessクエリ,重複クエリ,不一致クエリ,更新クエリ
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
Accessその他のクエリ
【重複クエリ】
重複クエリとはテーブル内で重複したデータを抽出します。
何かの名簿があって同じ方を登録している可能性がある場合などに
使用すると便利です。
名前が同じでも他の項目が違う場合とかありますね。
その時は別人として区別されます。
今まで使ってきた切手在庫管理から重複クエリを作ってみましょう。
「T_入出庫」テーブルをもとにして、同じ日付で同じ種類を登録している
ものを抽出してみましょう。
クエリウィザードから「重複クエリ」を選択して「OK」を押してください。
「T_入出庫」テーブルを選択して「次へ」を押してください。
ここで重複データを調べるフィールドを設定します。
同じ日付で同じ種類を登録しているものを抽出したいので「日付」と
「種類」を選択します。
「次へ」を押してください。
ここはクエリで表示させたいフィールドを選択します。
一応全部選択します。
「次へ」を押してください。
ここで名前を付けます。「完了」を押してください。
このように同じ日付で同じ種類のものが抽出されました。
個人的にあまり使用頻度は高くないですね。
まあこのようなことができるということを覚えておいたらいいのかなと思います。
今会計関係でアプリを作っていますが、同じテーブルなのに入力タイミングが
違う場合があります。
(ひどいときは2カ月くらい離れる時があります)その際入力したかどうか
よく覚えていない時があるので、いったん入力して、後で重複クエリを実行
して重複を探す場合があります。
その他何か募集をして応募してきた方に重複がないかどうか調べるとか、
使用する場面は多々あると思います。
まずは15日間【無料】お試し利用から!大容量200GB〜レンタルサーバー『HETEML』
【不一致クエリ】
不一致クエリとは2つのテーブルまたはクエリを比較して「不一致レコード」
を抽出するクエリです。
非常に単純な例を上げます。
ある月のある製品の売り上げをまとめたものです。
テーブル1とテーブル2があります。
(テーブル1)
(テーブル2)
上記の2つのテーブルを比較して日付の違うものを抽出することにします。
クエリウィザードから「不一致クエリ」を選択して「OK」を押してください。
ここで比較するテーブル(クエリ)を選択します。
「次へ」を押してください。
ここでもう一つのテーブル(クエリ)を選択します。
「次へ」を押してください。
関連付けるフィールドを選択します。
今回は日付を比較したいので両方の日付を選択して「<=>」を押します。
「次へ」を押してください。
ここは不一致クエリに表示させるフィールドを選択します。
今回はすべて選択して「次へ」を押してください。
ここで名前を付けて「完了」を押してください。
このように日付が一致しないレコードだけ抽出されました。
個人的にはこの不一致クエリもあまり使用しませんね。
ショッピングモール【カラメル】にも出店できるから
集客力抜群の【カラーミーショップ】
https://px.a8.net/svt/ejp?a8mat=2NR5KR+GC8AGI+348+I47XV
【更新クエリ】
このクエリは結構便利なので時々使っています。
よく使う場面としては、何かの処理をした際に「処理日を自動的に入れる」
ということが考えられますね。
また数値が入っていて、その数値を何倍にしたいとか、
何%割引きにしたいとかいうときに「更新クエリ」を使用すると
一気に更新できます。
私は入場券発券で使用しましたね。
申し込みがあればどんどん入力していき、時々まとめて入場券を発券します。
発券したら更新クエリで発券日に日付を入れていく。
発券日が記載されているテーブルは今後発券されないという仕組みですね。
一度住所録を使って更新クエリを体験しましょう。
「T_住所録」に「処理日」というフィールドを追加して、
何か作業した後に「更新クエリ」を実行して、
住所録に「処理日」というフィールドを追加しました。
「更新クエリ」の作り方ですが、一番簡単な方法を記載します。
クエリを作成するときの「クエリデザイン」を開いて、「T_住所録」を追加します。
ここから更新したいフィールドを選択します。
今回は処理日を更新したいので、処理日だけ選択します。
上のように「処理日」だけ選択してリボンの「更新」ボタンを押します。
このボタンを押すと「更新クエリ」になります。
ここの表示が変ります。
「並べ替え」から下が変りましたね。
「レコードの更新」「抽出条件」「または」になりました。
今回は「レコードの更新」を使用します。
更新は「処理日」を入れるように考えています。
処理日を入れるとしたら当然「当日」ですね。
ですからここに「Date()」と入力します。
「Date()」の意味は分かりますね。
「今日の日付」という意味です。
Excel関数の「Today()」と同じです。
上記のように入力します。
これで閉じてください。
閉じるときに名前を聞いてきますので「Q_処理日」にしました。
このように少し変わったアイコンで「Q_処理日」という更新クエリが出来ました。
実行するのは単にこのクエリを選択してダブルクリックすれば実行されます。
通常はフォームにボタンを作り何らかの作業をさせて、
最後にこの更新クエリを実行させるというやり方が一般的でしょう。
とりあえず一度やってみますね。
最初に確認のために「T_住所録」を開きます。
そして「処理日」に何も入っていないことを確認して閉じます。
次に「Q_処理日」をダブルクリックします。
表面上は何も変化がありません。
そして再度「T_住所録」を開きます。
処理日に日付が入っています。
これが「更新クエリ」です。
例えば後日新しい住所録を追加したとします。
その時は選択クエリで「処理日」が空白のレコードのみ抽出して
更新クエリを実行すると新しく追加されたレコードだけその日の日付が追加されます。
このようにすると何時処理されたのか履歴が残っていきますし、
処理忘れもなくなってきます。
この「更新クエリ」はうまく使えば非常に便利です。是非覚えておきましょう。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[PR]━┓
高速・多機能・高安定レンタルサーバー『エックスサーバー』
─────────────────────────────────
・月額900円(税抜)から、大容量200GBからの高コストパフォーマンス
・安定のサーバー稼働率99.99%以上
・高速性を重視し、最新20コアCPU(Xeon E5シリーズ)+192GBメモリ
+RAID10を採用!
・幅広いバージョンのPHPやSSHに対応!
・初心者でも安心の24時間365日メールサポート!
─────────────────────────────────
https://px.a8.net/svt/ejp?a8mat=2NR2G3+DG1FLE+CO4+5ZU2B
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
【このカテゴリーの最新記事】
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/8575248
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック