• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:勤務時間を修正して一覧を作成したいのですが・・)

修正勤務時間一覧の作成方法

このQ&Aのポイント
  • 勤務時間を修正して一覧を作成したい。テーブルAとBを使用して、勤務時間を加算するレコードと加算されないレコードを含んだ修正勤務時間一覧を作成したい。
  • テーブルAには日付、社員名、当日勤務地、勤務時間の情報があり、テーブルBには社員名、勤務地、識別子の情報がある。複数の勤務地を持つ社員について、テーブルBの識別子と一致する場合には勤務時間に0.5時間を加算する。
  • クエリ「修正勤務時間一覧」で上記の条件に基づいてテーブルAとBを結合し、修正された勤務時間と元の勤務時間を含んだ一覧を作成したいが、作成できていない。SQLの知識が浅いため、ご指導をお願いしたい。

質問者が選んだベストアンサー

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

SELECT テーブルA.社員名,テーブルA.当日勤務地,IIF(テーブルB.識別子 IS NULL,テーブルA.勤務時間,テーブルA.勤務時間+50) FROM テーブルA LEFT JOIN テーブルB ON (テーブルA.社員名 & テーブルA.当日勤務地) = テーブルB.識別子; でどうでしょうか。

katu1970
質問者

お礼

お礼が遅くなってしまい申し訳ありませんでした。 うまく行きました!! 大変たすかりました。ありがとうございました。 また、宜しくおねがいします。

katu1970
質問者

補足

ありがとうございます。 先ほどの記述で間違いがありました。 テーブルBも作成してありますが、 社員名:テキスト 勤務地:テキスト テーブルBクエリに 社員名:テキスト 勤務地:テキスト 識別子:社員名&勤務地 でした。 さっそく、クエリでSQLビューで仮名(クエリAB)に貼付けしてみました。 結果は成功しました。 しかし、デザインビューでは表示できないんですね... これは、なぜでしょうか? それと、Expr1002という列名に表示される結果となっています。 お願いですが、上記となるご説明を頂ければ幸いです。 たぶんSQLを詳しくしらないからかも知れませんが、何とか処理を上手くしたいのです。 ご協力をお願いできますでしょうか。。。。

その他の回答 (1)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

NO1です。 まず、デザインビューの件ですが、デザインビューに切り替えた時に 出たメッセージにもあるように、テーブルA.社員名 & テーブルA.当日勤務地(結合式) がデザインビューでサポートされていない為です。 これはACCESSの仕様と言うことになります。 また、Expr1002の方ですが、こちらは関数や計算式を使ってフィールドを追加した場合に そのフィールドに対して名前をつけてあげないとACCESSが勝手に名前をつけます。 もし、名前を付ける場合は以下のようになります。 IIF(テーブルB.識別子 IS NULL,テーブルA.勤務時間,テーブルA.勤務時間+50) AS 勤務時間 拙い説明で分かりにくいとは思いますが、お役に立てれば幸いです。

katu1970
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 助かりました。 ありがとうございました。

関連するQ&A