<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 MS-Access97超入門>その他のクエリ
 集計クエリ(Σ) クエリで計算式 クロス集計クエリ 不一致クエリ



■クエリで計算式

クエリーは、縦集計だけじゃなく、中のフィールドを利用して計算式を作り、基のテーブルには存在しないフィールドを作成することもできるんです。

例えば、上のように、[名簿テーブル]を基にひとつクエリーを作ったとします。

で、右の端のあいているグリッドに、勝手に半角で500と数字を入力したとします。
と、このクエリーをデータシートビューに切り替えて開いてみると・・。

[式1]というフィールドがいっこできてますね。中身は全部500です。意味ないですけど、意味わかりますか?

式1というのは、クエリーが勝手に付けたフィールド名です。
わかりにくいのでなんか書き換えてみるとして、今度はもう少し式っぽいのにしてみましょう。

練習用:[かせぎ]*1.5

ひらがな漢字以外は全部半角です。

すると・・・。

[かせぎ]の金額を1.5倍にした値が、[練習用]というフィールドの中に計算されて表示されてます。


あんまり複雑な計算式は、ここでは難しいですが、同じレコードとして並んでいる値を使った式なら、いろいろ可能性はありそうですね。

じゃあ、[練習用]の計算式を、こんな風に書き変えてみてください。

練習用:iif([成績]="A",[かせぎ]*1.5,[かせぎ])

IIf関数という関数で、「もし成績がAだったらかせぎは1.5倍、そうでなければそのまま据え置き」という意味になります。
IIfは大文字でも小文字でもどちらでもOK。いずれIIfという表記に変ります。ただし、絶対に半角です。

入力しにくかったら、この[練習用]のグリッドの中にカーソルがある状態で[F2]キーを押します。ズームという機能です。

ただ専用の枠が出て入力がしやすいだけで、式の入力を手伝ってくれるわけじゃないんですけどね。

大概の場所で有効ですので、ズーム機能も活用してください。

Aをダブルコーテーションで囲んでいるのは、Aはフィールド名じゃなくて、成績がAの場合、という意味で固有の値として入力するからですね。

できました?じゃあ、結果を見てみますかね。

どうでしょう。成績が"A"の人だけ、かせぎが1.5倍になってますかね。
成績がいいと、いいことありますよね。
あんまり複雑な計算は無理かもしれませんが、けっこう使えますよ。
いろいろ工夫して活用してみてください。