Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


497 / 2272 ツリー ←次へ | 前へ→

【11434】複数の抽出条件 shin 10/1/28(木) 12:27 質問[未読]
【11435】Re:複数の抽出条件 超初心者 10/1/28(木) 18:11 発言[未読]
【11436】Re:複数の抽出条件 shin 10/2/1(月) 8:45 お礼[未読]

【11434】複数の抽出条件
質問  shin  - 10/1/28(木) 12:27 -

引用なし
パスワード
   サイト内を調べてみましたが、私の頭ではまとまりがつかず困っています。
次の様なテーブルがあります。

店名   検査日   備考
--------------------------
A    2009/01/01 
A    2009/01/02
B    2009/01/01 10
B    2009/01/02 
C    2009/01/02 10
【抽出条件】
1.検査日は最新
2.a)備考が10のデータは使用しない
  b)備考が10のデータのみなら使用する

【希望の抽出結果】
店名   検査日   備考
--------------------------
A    2009/01/02
B    2009/01/02 
C    2009/01/02 10 

と、したいのです。
VBAでなくても関数で出来る事なのでしょうか?
どちらにしても抽出条件2の部分が分かりません。
よろしくお願いいたします。 

【11435】Re:複数の抽出条件
発言  超初心者  - 10/1/28(木) 18:11 -

引用なし
パスワード
   ▼shin さん:
>次の様なテーブルがあります。
テーブル名を仮に「aT_table」としました。

SELECT aT_table.店名, Max(aT_table.検査日) AS 検査日, First(aT_table.備考) AS 備考
FROM aT_table
WHERE (
((DCount("*","aT_table","店名='" & [店名] & "' And (備考<>10 Or 備考 is Null)"))>=1) AND
((aT_table.備考) Is Null Or (aT_table.備考)<>10)) OR
(((DCount("*","aT_table","店名='" & [店名] & "' And (備考<>10 Or 備考 is Null)"))=0) AND
((aT_table.備考)=10))
GROUP BY aT_table.店名;


こんな感じでいかがでしょう。

【11436】Re:複数の抽出条件
お礼  shin  - 10/2/1(月) 8:45 -

引用なし
パスワード
   ▼超初心者 さん:
ありがとうございました。完璧です!

SQLは使用したことがありませんでした。
データの持ち方ももっと考えなければいけないと
勉強になりました。

497 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078193
(SS)C-BOARD v3.8 is Free