アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。
テーブルA(勤務時間一覧)に
日付:Date
社員名:テキスト
当日勤務地:テキスト
勤務時間:数値
と言うテーブルがあります。
また、テーブルB(特別時間加算テーブル)に
社員名:テキスト
勤務地:テキスト
識別子:社員名&勤務地
というテーブルがあります。
そこで、
社員は複数の勤務地があり、テーブルBの一覧の条件識別子と一致する場合には、テーブルBの一致レコードのみ0.5時間を加算する。
といったクエリを作成したいと思います。
クエリ「修正勤務時間一覧」で、
テーブルAとBを使用して、勤務時間を加算するレコード、加算されないレコードを含め、
テーブルAの修正一覧を作成したいのですが、
クエリに
日付:テーブルA
社員名:テーブルA
当日勤務地:テーブルA
勤務時間:テーブルA
修正勤務時間:IIf(([社員名]&[当日勤務地])=[テーブルB]![識別子]),[勤務時間]+0.5,[勤務時間])
としたのですが、一覧表を作成することができません。

なにとぞ、お助けいただきたく宜しくおねがいいたします。
SQLでの作成をした方が良いと思って進めておりますが、
クエリもSQLも知識が浅いため、ままなりません。
ご指導をお願い致します。

A 回答 (2件)

SELECT テーブルA.社員名,テーブルA.当日勤務地,IIF(テーブルB.識別子 IS NULL,テーブルA.勤務時間,テーブルA.勤務時間+50)


FROM テーブルA LEFT JOIN テーブルB ON (テーブルA.社員名 & テーブルA.当日勤務地) = テーブルB.識別子;

でどうでしょうか。

この回答への補足

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

補足日時:2008/06/22 23:30
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/07/08 15:14

NO1です。



まず、デザインビューの件ですが、デザインビューに切り替えた時に
出たメッセージにもあるように、テーブルA.社員名 & テーブルA.当日勤務地(結合式)
がデザインビューでサポートされていない為です。
これはACCESSの仕様と言うことになります。

また、Expr1002の方ですが、こちらは関数や計算式を使ってフィールドを追加した場合に
そのフィールドに対して名前をつけてあげないとACCESSが勝手に名前をつけます。

もし、名前を付ける場合は以下のようになります。

IIF(テーブルB.識別子 IS NULL,テーブルA.勤務時間,テーブルA.勤務時間+50) AS 勤務時間

拙い説明で分かりにくいとは思いますが、お役に立てれば幸いです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/10/08 19:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す