0

グループごとに最大のタグを調べて、大きな情報を見つけましたが、私の特定の問題を解決するものは何も見つかりませんでした。VBA MS Accessクエリ - リンクテーブルから最大の日付を返す

表Aは、使用されるすべての材料に関する化学物質データを格納しています。こうした危険RMCode、商品名、DangerousGood(すべてTEXT

表Bとして それが持っている分野は、(少なくとも5年ごとに更新されている)すべての材料安全データシートが含まれている、と私たちは代わらドキュメントを格納します。 フィールドは、RMCode(TEXT)、linkMSDS(HYPERLINK)およびMSDSdate(DATE/TIME)です。 LinkMSDSはpdfへのハイパーリンクで、問題の日付をMSDSdateに保存します。 1つのRMコードには、多数のMSDSが添付されています。

2つのテーブルは、「RMコード」フィールドにリンクされています。

私はDangerousGoodsであるすべての材料のリストを生成したいと思いますが、最新のMSDSのみを提示します。 以下のコードは現在、すべてのMSDSを返送しています。

SELECT TABLEB。[RMCode]にtableA。[商品名]にtableA。[危険]にtableA。[DangerousGood]にtableA INNER FROM、TABLEB。[リンクMSDS]

にtableA ON TABLEBをJOIN [ RMコード] = TABLEB。[RMコード]にtableA。[DangerousGood] <> "N/A" とテーブルB [MSDSdate]

で(MAX(TABLEB。[MSDSdateを選択

])

TABLEB

GROUP BY TABLEB [RMCode])

TABLEB BY ORDER [RMCode] FROM。。。

+1

私は一度質問を理解すると答えが簡単だと思う。それを再読みしてより明確にすることを検討してください。 –

+0

ありがとう@iDevlop。うまくいけば、この変更によって明らかになりました。 – Denbigh

答えて

0

各RMCodeに最新のMSDSdateが必要なように私に聞こえます。

SELECT RMCode, Max(MSDSdate) AS MaxOfMSDSdate 
FROM TableB 
GROUP BY RMCode; 

それが正しいなら、あなたはsuqueryがテーブルAに接合されたとして、それを使用してDangerousGood =「N/A」を持つ行を除外するためにWHERE句を追加することができます。あなたがそれらのRMCode/MSDSdateの組み合わせごとにlinkMSDS値が必要な場合

SELECT a.RMCode, a.DangerousGood, b.MaxOfMSDSdate 
FROM 
    TableA AS a 
    INNER JOIN [ 
     SELECT RMCode, Max(MSDSdate) AS MaxOfMSDSdate 
     FROM TableB 
     GROUP BY RMCode 
     ]. AS b 
     ON a.RMCode = b.RMCode 
WHERE (((a.DangerousGood)<>"N/A")); 

最後に、あなたは、テーブルBの別のコピーに参加することができます。

SELECT a.RMCode, a.DangerousGood, b.MaxOfMSDSdate, b2.linkMSDS 
FROM 
    (TableA AS a 
    INNER JOIN [ 
     SELECT RMCode, Max(MSDSdate) AS MaxOfMSDSdate 
     FROM TableB 
     GROUP BY RMCode 
     ]. AS b 
     ON a.RMCode = b.RMCode) 
    INNER JOIN TableB AS b2 
     ON (b.RMCode = b2.RMCode) AND (b.MaxOfMSDSdate = b2.MSDSdate) 
WHERE (((a.DangerousGood)<>"N/A")); 
+0

@Denbigh:上記のクエリをAccessに入力すると、 '[...]。'を '(..)'に変更する必要があります。クエリを保存するたびに、Accessはサブクエリを囲むかっこを変更しますが、それらの角括弧を保存しようとすると、不思議に受け入れられません。 –

+0

もう一度@ハンズアップ!これは私の問題を解決しました。 – Denbigh

+0

@iDevlopは私に質問文を修正するよう促してくれてありがとう(括弧のついたヒントも) – Denbigh

関連する問題