2017-05-18 18 views
0

私は自分のコードに少しのSQLを追加する必要がありますが、どこに追加するのかは完全にはわかりません。日付範囲でフィルタをSQLで

現在のコード:

Me.List5.RowSource = "SELECT TOP " & Nz(Me.Text9.Value, 0) & " RTI.CRN, 
           Sum(RTI.Credit) AS Credit, 
           Count(RTI.CRN) AS [Count] 
         FROM RTI 
         GROUP BY RTI.CRN 
         ORDER BY Sum(RTI.Credit) DESC;" 

私は、テキストボックスにある日付を指定して検索する部分を追加する必要があります。私は次のコードが必要だと思います:

AND [StatusDateTime] >= [Text1] AND <= [Text2] 

私の日付コードは正しいですか?元のSQLにどこに追加しますか?その場所は、その場所の右FROM後でWHERE句であるので条件は、結果セットをフィルタリングします

おかげ

+0

SQL 'WHERE'句の構文があるべきようにする必要があります。<= [テキスト2]' 'と[StatusDateTime]> = [テキスト1]と[StatusDateTime] 。私は[DateDiff](https://www.techonthenet.com/access/functions/date/datediff.php)を使用して魔女の日付を決定することを検討します。 – marlan

答えて

2

あなたは結果のクエリは次のようになり

[StatusDateTime] between [Text1] and [Text2] 

その条件のいずれかのこのよう

[StatusDateTime] >= [Text1] AND [StatusDateTime] <= [Text2] 

またはこの(よりコンパクトな)方法を書くことができます

Me.List5.RowSource = "SELECT TOP " & Nz(Me.Text9.Value, 0) & " RTI.CRN, 
          Sum(RTI.Credit) AS Credit, 
          Count(RTI.CRN) AS [Count] 
         FROM RTI 
         WHERE [StatusDateTime] between [Text1] and [Text2] 
         GROUP BY RTI.CRN 
         ORDER BY Sum(RTI.Credit) DESC;" 
+0

これは完全に機能しました - ありがとうございます – dmorgan20

+0

[Text1]と[Text2]の間に[StatusDateTime]と一緒に行くことにしました。以前はbetweenを使用すると> =と<=を使用するよりも正確ではないと言われました。私はそれを取るそれは事実ではない? – dmorgan20

+0

dbmsが '> ='と '<='に翻訳していると確信していますが、これは単なる[構文的な砂糖]です(https://en.wikipedia.org/wiki)。/Syntactic_sugar)。 –

0

1)あなたがすべき「FROM RTI」の後に追加します

2)それは

AND [StatusDateTime] >= [Text1] AND [StatusDateTime] <= [Text2] 

それとも

AND [StatusDateTime] BETWEEN [Text1] AND [Text2]