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

顧客管理をAccess2003で行っています。
ユーザーが持っている機械入替えの情報を入力するフォームを追加することになりました。
そこに必要なフィールドのひとつに「トラブル回数」があります。
「トラブル回数」は、別テーブルの「T対応履歴」の対応分類に"C2"の値が入力されているものをユーザー別にカウントをして引っ張りたいと思います。

私が思いついた方法は、集計クエリを使う方法です。
(1)まず「T対応履歴」からユーザNOと対応分類のクエリを作って抽出条件を"C02"で引っ張り出しました。
(2)次にそのクエリをユーザNOごとにグループ化し対応分類をカウントした集計クエリを作りました。
(3)その集計クエリと「T機器入替」をクエリで結合させました。
そうしたら問題が発生してしまいました。
フォーム上で入力の更新ができなくなってしまったのです!
集計クエリは更新できないことがわかりました。
どうやら関数を使うようなのです。
http://support.microsoft.com/kb/328828/ja

このような場合、Accessを熟練されている方ならどのような方法を取られるのでしょうか?
よろしかったら教えていただけないでしょうか?

A 回答 (3件)

>全部「0」になってしまいました。


該当するものがないからでしょうね

>テキストボックスだからでしょうか?
関係ありません。だけどなぜテキストボックス?
最初の質問は集計クエリと結合したクエリだと追加更新不可になる
からなんとかできないかということでしたよ
入力フォームのソースのクエリに書くのですよ

>ユーザNOごとに合計数を表示させることは可能なのでしょうか?
合計だとDSum関数ですよ
    • good
    • 0
この回答へのお礼

教えていただいたDCountの構文で望みの値を抽出することができました。
初め抽出されなかったのは、指定する値が違っていたからだったんです。
ありがとうございました!

お礼日時:2008/03/14 15:28

>テキスト型の場合はどのような構文になるのでしょうか?



ヘルプに詳しく書いてあるんですがね・・・

DCount("*","T対応履歴","対応分類='C2' and ユーザNO='" & ユーザNO & "'")
    • good
    • 0
この回答へのお礼

ヘルプに書いてあることは難しく、理解ができなくて、つい甘えて聞いてしまいました。ありがとうございました。
教えていただいたとおりの構文を入れました。エラーは回避されましたが、全部「0」になってしまいました。
テキストボックスだからでしょうか?
そして、ユーザNOごとに合計数を表示させることは可能なのでしょうか?
フォームのテキストボックスのコントロールソースに設定すればいいのでしょうか?

何度もお伺いしてしまって申し訳ないので、ご迷惑じゃなかったらお答えいただけると大変助かります。

お礼日時:2008/03/05 16:55

集計クエリか絡むクエリは追加更新不可になります


これを防ぐにはDCount関数を使えばいいでしょう

DCount("*","T対応履歴","対応分類='C2' and ユーザNO=" & ユーザNO)

上の回答はユーザNOが数値型の場合です

この回答への補足

ご回答ありがとうございます。

やってみたのですが、#エラーになってしまいました。
ユーザNOがテキスト型だからでしょうか?
テキスト型の場合はどのような構文になるのでしょうか?
申し訳ありませんが教えていただけないでしょうか。

補足日時:2008/03/05 10:56
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

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