見学に行くとしたら【天国】と【地獄】どっち?

どうもよろしくお願い致します。

Accessでシステムを製作しているのですが、
クエリを使ったところ、途中まではちゃんとした数値が出るのですが、
突然、値が、2倍、3倍、4倍になってしまいます。

クエリかなー? リレーションかなー? と感じるのですけれど、
色々試してみても、わかりません。

大変お手数かとは存じますが、
本来の数値が出るための方法をご指南ください。

どうぞよろしくお願い致します。

A 回答 (3件)

主キーの設定をきちんとしていないと「リレーションシップ未定義」となります。


主キー設定すると「重複なし」になります。テキストフィールドの値で主キーにしていいのですが、値が重複していると、主キーとして設定できません。
テーブルの中で、重複データが存在しないフィールドを主キーにします。
それぞれのテーブルに主キーを設定したら、
テーブルのリレーションシップは、片方の主キーともう一方のテーブルのフィールド(相手の主キーと同じ種類のデータを格納するフィールド)を結びます。

う~ん、具体的なフィールド名がわからないと、これ以上の説明は難しいです。
    • good
    • 3
この回答へのお礼

分かりづらい質問なのに、丁寧なお返事ありがとうございます。無事正規の表示をできるようになりました。ありがとうございます。色々な方がご返事をくださっていたので、迷ったのですけれどこの度はこちらをベストアンサーに選ばさせていただきたいと思います。

お礼日時:2015/03/20 11:43

別な方法もあるかと思いますが、簡単な方法で回答します。


まず、集計をしないで計算するだけのクエリにしてください。
別なクエリで計算後のクエリを集計してください。
計算がおかしくなければ、倍になることはないと思います。

それでも倍になるところがあるとすれば、ダブっている行があるということになります。
    • good
    • 0
この回答へのお礼

ご返信をありがとうございます。ご指摘いただきましたようにさかのぼって作り直したところ、大元のクエリで1つのはずのレコードが3つになっておりました。それを合計して値が3倍になっていたみたいです。テーブルとテーブルをつないだクエリなんですけど、本来ならオートメーション型IDや数値型IDをリレーションでつなぐところをテキスト型どうしでつないでおります。

後、主キーがどちらも無いので、リレーションシップの種類が未定義で参照整合性、フィールドの連鎖更新、レコードの連鎖削除の設定ができておりません。ここもまずいでしょうか?(後先はさておき、テキスト型の一つを主キーにしてをW主キーにしてみたのですが、やっぱりリレーションシップが未定義でした。ひょっとしてテキストボックスなのがまずいのかな?と・・・)こういった場合はどうしたら、よろしいでしょうか? 大変お手数かとは存じますが、ご指南ください。

お礼日時:2015/03/19 20:42

クエリでグループ化してますか?


それとも演算とか合計にされてるんじゃないですかね?

集約している部分が影響しているかと思いますので確認してみてください。
    • good
    • 1
この回答へのお礼

ご返事をありがとうございます。
なかなか難しいので、思うようにいかず
返事が遅くなりまして誠に申し訳ございません。

クエリを確かにグループ化しております。
また合計に致しております。
どういたしたらよろしいでしょうか?

合計もグループ化も必要なようです。

お礼日時:2015/03/16 18:18

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

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

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


おすすめ情報

このQ&Aを見た人がよく見るQ&A