1

ms access 2000 で、クエリに同じフィールドを複数回入力しようとすると、フィールドが 1 回しか表示されないという問題が発生しました。たとえば、8150 などの数字でフィールドに複数回入力した場合と同様に、1 回しか表示されません。 ms access 2000 クエリ/フィールドの問題

この画像はクエリを示しています。

この問題を解決するために ms access 2000 のすべてを既に確認しましたが、適切なものは何も見つかりませんでした。

この画像には、私が抱えている問題と必要なものが含まれています。

この画像は一目瞭然です

4

1 に答える 1

0

データセットが単純化されていることは知っていますが、データや入力などを見ると、クエリが単一のテーブルからプルして結果を繰り返しているように見えるため、結合の考慮事項はありません。

問題は、重複する値をすべて削除しているクエリの DISTINCTROW だと思います。

「DISTINCTROW」を削除すると、期待どおりの結果が得られると思います。つまり、次のように変更します。

SELECT DISTINCTROW Ring.[Ring Number], Ring.[Mounting Weight]
FROM Ring

これに:

SELECT Ring.[Ring Number], Ring.[Mounting Weight]
FROM Ring

それだけの価値があるため、将来このクエリの実行方法を簡素化するためのいくつかの戦略もあるかもしれません (ダイアログ ボックスのプロンプトへの依存度が低くなります)。これはそれをしません。

- 編集 -

の削除はdistinct引き続き適用されますが、突然問題が発生します。クエリは、ロジックを複数の値の「OR」として表しています。したがって、値を繰り返すことは複数の行を意味するのではなく、真の条件を繰り返したことを意味します。

たとえば、私が持っている場合:

Fruit     Count
------    ------
Apple     1
Pear      1
Kiwi      3

select where Fruit is Apple or Apple or Apple or Apple と言いますが、クエリはまだ最初の行のみをリストします。「Or」条件が真と一致すると、短絡が開始され、他の条件は問題になりません。

それはあなたが望むもののようには聞こえません。

これがあなたがする必要があると私が思うことです:

  1. クエリ内のプロンプトを取り除く
  2. オプションを別のテーブルにロードします -- ここで繰り返しが発生する可能性があります
  3. クエリを変更して、新しいテーブルで内部結合を実行します

新しいテーブル (Selection例として " " という名前):

Entry    Ring Number    Mounting Weight
-----    -----------    ----------------
1        8105           you get the idea...
2        8110
3        8110
4        8110
5        8115
6        8130
7        8130
8        8130
9        8130
10       8150

新しいクエリ:

select
  Ring.[Ring Number], Ring.[Mounting Weight]
from
  Ring
  Inner join Selection on Ring.[Ring Number] = Selection.[Ring Number]

これには、10 より多い (または少ない) レコードを許可するという追加の利点があります。

于 2015-10-08T19:30:31.467 に答える