Ví dụ về dùng ngày tháng làm tiêu chí trong truy vấn Access

Để tìm hiểu thêm về tạo truy vấn, hãy xem Giới thiệu truy vấn.

Đây là một vài ví dụ chung về tiêu chí ngày, từ bộ lọc ngày đơn giản đến các tính toán có phạm vi ngày phức tạp hơn. Vài ví dụ phức tạp hơn dùng hàm date của Access để trích xuất ra các phần khác nhau của ngày nhằm giúp bạn lấy được kết quả mà bạn muốn.



Ví dụ về dùng ngày hiện tại trong tiêu chí của truy vấn

Để bao gồm các mục... Hãy dùng tiêu chí này Kết quả truy vấn
Chứa ngày hôm nay Date() Trả về các mục là ngày hôm nay. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục có trường ngày đặt là ngày 2 tháng 2, 2012.
Chứa ngày hôm qua Date()-1 Trả về các mục có ngày hôm qua. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục cho ngày 1 tháng 2, 2012.
Chứa ngày mai Date() + 1 Trả về các mục có ngày mai. Nếu ngày hôm nay là 2 tháng 2,2012, bạn sẽ thấy các mục cho ngày 3 tháng 2, 2012.
Chứa ngày trong tuần hiện tại DatePart("ww", [SalesDate]) = DatePart("ww", Date()) and Year( [SalesDate]) = Year(Date()) Trả về các mục có ngày trong tuần hiện tại. Một tuần trong Access bắt đầu vào ngày Chủ nhật và kết thúc vào ngày Thứ bảy.
Chứa ngày trong tuần trước Year([SalesDate])* 53 + DatePart("ww", [SalesDate]) = Year(Date())* 53 + DatePart("ww", Date()) - 1 Trả về các mục có ngày trong tuần trước. Một tuần trong Access bắt đầu vào ngày Chủ nhật và kết thúc vào ngày Thứ bảy.
Chứa ngày trong tuần sau Year([SalesDate])* 53+DatePart("ww", [SalesDate]) = Year(Date())* 53+DatePart("ww", Date()) + 1 Trả về các mục có ngày trong tuần sau. Một tuần trong Access bắt đầu vào ngày Chủ nhật và kết thúc vào ngày Thứ bảy.
Chứa một ngày trong 7 ngày gần đây Between Date() and Date()-6 Trả về các mục có ngày trong 7 ngày gần đây. Nếu ngày hôm nay là ngày 2/2/2012, bạn sẽ thấy các mục cho giai đoạn từ ngày 24 tháng 1, 2012 tới ngày 2 tháng 2, 2012.
Chứa một ngày trong tháng hiện tại Year([SalesDate]) = Year(Now()) And Month([SalesDate]) = Month(Now()) Trả về các mục có ngày trong tháng hiện tại. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục cho tháng 2, 2012.
Chứa một ngày trong tháng trước Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) - 1 Trả về các mục có ngày trong tháng trước. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục cho tháng 1, 2012.
Chứa một ngày trong tháng sau Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) + 1 Trả về các mục có ngày trong tháng sau. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục cho tháng 3, 2012.
Chứa một ngày trong khoảng 30 hoặc 31 ngày trở lại đây Between Date( ) And DateAdd("M", -1, Date( )) Trả về giá trị tháng của các mục. Nếu ngày hôm nay là ngày 2/2/2012, bạn sẽ thấy các mục cho giai đoạn từ ngày 2 tháng 1, 2012 tới ngày 2 tháng 2, 2012.
Chứa một ngày trong quý hiện tại Year([SalesDate]) = Year(Now()) And DatePart("q", Date()) = DatePart("q", Now()) Trả về các mục cho quý hiện tại. Nếu hôm nay là ngày 2/2/2012, bạn sẽ thấy các mục cho quý một của năm 2012.
Chứa một ngày trong quý trước Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())- 1 Trả về các mục cho quý trước. Nếu hôm nay là ngày 2/2/2012, bạn sẽ thấy các mục cho quý cuối cùng của năm 2011.
Chứa một ngày trong quý sau Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())+1 Trả về các mục cho quý sau. Nếu hôm nay là ngày 2/2/2012, bạn sẽ thấy các mục cho quý hai của năm 2012.
Chứa một ngày trong năm hiện tại Year([SalesDate]) = Year(Date()) Trả về các mục cho năm hiện tại. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục cho năm 2012.
Chứa một ngày trong năm trước Year([SalesDate]) = Year(Date()) - 1 Trả về các mục cho năm trước. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục cho năm 2011.
Chứa một ngày trong năm sau Year([SalesDate]) = Year(Date()) + 1 Trả về các mục với ngày của năm sau. Nếu ngày hôm nay là 2/2/2012, bạn sẽ thấy các mục cho năm 2013.
Chứa ngày từ ngày 1 tháng 1 đến ngày hôm nay (mục năm-đến-ngày) Year([SalesDate]) = Year(Date()) and Month([SalesDate]) <= Month(Date()) and Day([SalesDate]) <= Day (Date()) Trả về các mục có ngày từ ngày 1 tháng 1 của năm hiện tại đến ngày hôm nay. Nếu ngày hôm nay là ngày 2/2/12, bạn sẽ thấy các mục cho giai đoạn từ ngày 1 tháng 1, 2012 đến ngày 2/2/2012.
Chứa một ngày đã xảy ra trong quá khứ < Date() Trả về các mục có ngày trước ngày hôm nay.
Chứa một ngày sẽ xảy ra ở tương lai. > Date() Trả về các mục có ngày sau ngày hôm nay.

Ví dụ về làm việc với ngày hoặc phạm vi ngày thay vì ngày hiện tại

Để bao gồm các mục... Hãy dùng tiêu chí này Kết quả truy vấn
Trùng khớp chính xác giá trị ngày, chẳng hạn như ngày 2/2/2012 #2/2/2012# Chỉ trả về các mục với ngày 2 tháng 2, 2012.
Không khớp giá trị ngày, như ngày 2/2/2012 Not #2/2/2012# Trả về các mục có ngày khác với ngày 2 tháng 2, 2012.
Chứa các giá trị trước một ngày nhất định như ngày 2/2/2012 < #2/2/2012#

Trả về các mục có ngày trước ngày 2 tháng 2, 2012.

Để xem các mục có ngày trước hoặc vào ngày 2 tháng 2, 2012, dùng toán tử dấu <= thay cho toán tử dấu < .

Chứa các giá trị sau một ngày nhất định như ngày 2/2/2012 > #2/2/2012#

Trả về các mục có ngày sau ngày 2 tháng 2, 2012.

Để xem các mục có ngày sau hoặc vào ngày 2 tháng 2, 2012, hãy dùng toán tử dấu>= thay cho toán tử dấu >.

Chứa các giá trị trong phạm vi ngày (giữa hai ngày) >#2/2/2012# and <#2/4/2012#

Trả về các mục có ngày giữa ngày 2 tháng 2, 2012 và ngày 4 tháng 2, 2012.

 Ghi chú    Bạn cũng có thể dùng toán tử Between để lọc một phạm vi giá trị bao gồm các điểm đầu cuối. Ví dụ: Between #2/2/2012# and #4/2/2012# cũng giống như >=#2/2/2012# and <=#4/2/2012#.

Chứa giá trị ngày nằm ngoài phạm vi <#2/2/2012# or >#4/2/2012# Trả về các mục có ngày trước ngày 2 tháng 2, 2012 hoặc sau ngày 4 tháng 2, 2012.
Chứa một trong hai giá trị ngày ví dụ như 2/2/2012 hoặc 3/2/2012 #2/2/2012# or #3/2/2012# Trả về các mục có ngày hoặc là ngày 2 tháng 2, 2012 hoặc ngày 3 tháng 2, 2012.
Chứa từ một giá trị ngày trở lên In (#1/2/2012#, #1/3/2012#, #1/4/2012#) Trả về các mục có ngày 1 tháng 2, 2012, 1 tháng 3, 2012 hoặc 1 tháng 4, 2012.
Chứa ngày trong một tháng cụ thể (không tính đến năm), như tháng 12 DatePart("m", [SalesDate]) = 12 Trả về các mục có ngày nằm trong tháng 12 của bất cứ năm nào.
Chứa một ngày trong một quý cụ thể (không tính tới năm), như quý một DatePart("q", [SalesDate]) = 1 Trả về các mục có ngày nằm trong quý đầu tiên của bất cứ năm nào.
Bộ lọc cho giá trị null (hoặc thiếu) Is Null Trả về các mục có ngày chưa được nhập.
Bộ lọc cho giá trị không phải là null Is Not Null Trả về các mục có ngày đã được nhập.

Truy vấn lọc ra giá trị ngày là null (bỏ sót) hoặc giá trị ngày là non-null

Để bao gồm các mục... Hãy dùng tiêu chí này Kết quả truy vấn
Bộ lọc cho giá trị null (hoặc thiếu) Is Null Trả về các mục có ngày chưa được nhập.
Bộ lọc cho giá trị không phải là null Is Not Null Trả về các mục có ngày đã được nhập.

Bạn gặp vấn đề với tiêu chí ngày như không nhận được kết quả bạn mong đợi? Hãy xem Tiêu chí ngày không hoạt động trong truy vấn của tôi.

 
 
Áp dụng cho:
Access 2013