2017-02-03 8 views
0

次の問題があります。私は、ユーザーの入力日付で、最後の12ヶ月必要がありますが、私はWHEREで(例えば#2017年1月1日#)入力を定義する方法がわからないWHERE句(MS Access DB)で入力日付を定義する方法

SELECT ID, MAX(Datum) AS DateField, Assets 
FROM dbTable 
WHERE Datum>=DateAdd("m",-12,Date()) 
GROUP BY Datum, ID, Assets 
ORDER BY Datum DESC; 

:現在、私は、このSQL文を使用しています-句?!

つまり、ユーザーが01/01/2017を選択した場合、その結果は昨年から12ヶ月すべてである必要があります。

答えて

0

[OK]を、私はこの問題を解決:

SELECT ID, Datum, Assets 
FROM dbTable 
WHERE Datum>=DateAdd("m",-12,#01/01/2017#) and Datum<=#01/01/2017# and ID=325 
GROUP BY Datum, ID, Assets 
ORDER BY Datum DESC; 
0

それはときにグループ化データムマックス(データム)を選択しても意味がありません

Forms!MyForm!MyCombo.Value 
+0

を私は '日()' '#01/01/2017と#'交換するとき、私は常に02から日付を取得します/ 02/2017から2011年4月1日まで – yuro

0

Date() 

を交換してください。したがって、次のように

SELECT ID, Datum AS DateField, Assets 
FROM dbTable 
GROUP BY Datum, ID, Assets 
HAVING Datum >= DateAdd("yyyy", -1, DateValue(Forms!YourForm!txtDatum)) 
ORDER BY Datum DESC; 
関連する問題