※ ChatGPTを利用し、要約された質問です(原文:アクセス97のクエリーでIF関数を使って特定のコードがある場合に*を表示させたいのですが、うまくいきません。)
Access97クエリーで特定の給与コードに*を表示させる方法
このQ&Aのポイント
マイクロソフトAccess97を使用して、給与コードが特定の値である場合に*を表示させる方法を教えてください。
クエリーデザイン画面でクエリーに「要確認」というフィールドを追加し、式「IIF([給与コード]='L01' OR [給与コード]='L02','*','')」を入力することで、給与コードがL01またはL02の場合に「*」を表示させることができます。
ただし、現在の式では全ての行に「*」が表示されてしまう問題があります。目指す結果を得るためには、式を修正する必要があります。
アクセス97のクエリーでIF関数を使って特定のコードがある場合に*を表示させたいのですが、うまくいきません。
会社でマイクロソフトAccess97を使って作業しています。
初心者で分からないことだらけでして、基本的なことだと思うのですがこちらで質問させていただきます。
給与年月・社員番号・名前・給与コード・給与額のフィールドを持ったテーブルがあります。
従業員一人につき、同年月の給与で複数行の給与項目・金額を持っている形です。(以下イメージ)
給与年月 社員番号 名前 給与コード 給与額
200709 001 花子 A01 200000
200709 001 花子 C02 20000
200709 001 花子 M05 10000
200709 002 太郎 A01 230000
200709 002 太郎 B04 35000
200709 002 太郎 L02 5000
このテーブルを使ったクエリーで、給与コードがA番台~L番台のものだけを抽出させようとして、
それは式を入れてうまくいったのですが(以下例の通り、結果M05の行は表示されなくなった)、
それと同時に特定の給与コード(例えばL01とL02)があった場合にはその行に「*」を表示、
それら以外なら何も表示しないというフィールドを追加したいのですが、うまくいきません。
クエリーデザイン画面で「要確認」のフィールドを追加、フィールド名欄に、
要確認:IIF([給与コード]=”L01” or “L02”,”*”,””)
という式を入れたのですが、結果全ての行に「*」が表示されてしまいます。(以下例)
目指したいのは、この例で言うと、最終行太郎のL02の行のみに「*」を表示させることなのですが。。。
給与年月 社員番号 名前 給与コード 給与額 要確認
200709 001 花子 A01 200000 *
200709 001 花子 C02 20000 *
200709 002 太郎 A01 230000 *
200709 002 太郎 B04 35000 *
200709 002 太郎 L02 5000 *
何を変えたら、目指す結果を得られるでしょうか?
お礼
ご回答頂き、どうもありがとうございます。 IFの式自体が間違っているのですね。。。よく分かりました。 月曜日に会社に行って、入れなおして結果見てみます。 大変助かりました。