2017-02-22 19 views
-2

グローバルデータベースからの読書があり、日付がYYYYMMDD形式で表示される列があり、昨日から最初の日までの間にフィルタリングできるSQLコードを探しています現在の月(月の最初の日には実行されないため、そこに侵入することは心配していません)。MS Accessでの日付フィルタリングSQL

例えば、私は現在、それがコードを使用して作業している:20170201と20170221

の間、私はそれが[MONTH OF FIRST]と[YESTERDAY]

+1

「2つの日付の間で並べ替える」とはどういう意味ですか?あなたはフィルターを意味しますか?これはテキストとして保存された日付ですか、日付フィールドにはちょうどファンキーな日付形式ですか? – JNevill

+0

フィルター、私は信じています。私は、月の初めと前の営業日の間に起こった取引を表示するようにします。 「20170201と20170221の間に」と書いても問題ありませんが、毎日自動的に更新する必要があります。 – mbald23

+0

「20170201と20170221の間」は、データがintとして格納されていることを示していますが、これは正しいですか?この場合、解決策は日付(現在の月と昨日の最初の日付)をこの形式に変換することです。 – Degan

答えて

1

の間にあるコードを使用したいのですがあなたは使用することができます。

Select * From YourTable 
Where YourDateField 
    Between DateSerial(Year(Date()), Month(Date()), 1) And DateAdd("d", -1, Date()) 

日付フィールドが実際のテキスト、使用の場合:

Select * From YourTable 
Where DateValue(Format(YourDateField, "@@@@\/@@\/@@")) 
    Between DateSerial(Year(Date()), Month(Date()), 1) And DateAdd("d", -1, Date()) 

または:

Select * From YourTable 
Where YourDateField 
    Between Format(DateSerial(Year(Date()), Month(Date()), 1), "yyyymmdd") And Format(DateAdd("d", -1, Date()), "yyyymmdd") 

PTクエリを使用する場合は、SQLエンジンの構文に変換します。

+0

ありがとう!それは大いに役立ちます。 – mbald23

関連する問題