Toán tử so sánh trong access

GIÁO TRÌNH ACCESS – CHƯƠNG 9: TOÁN TỬ – HÀM - BIỂU THỨC I. TOÁN TỬ 1) Toán tử số học : PHÉP TOÁN Ý NGHĨA VÍ DỤ ( ……) +, - ^ *, / \ Mod +, - Dấu ngoặc Dấu dương, âm Lũy thừa Nhân, chia Chia lấy phần nguyên Chia lấy phần dư (5+6)*2 +3, -5, -(-7) 2^4 4*3, 9/2=4.5 9\2 =4 9 mod 2 =1 5+8-3 Cộng, trừ Thứ tự ưu tiên các phép toán giảm dần từ trên xuống. 2) Toán tử xử lý chuỗi : a) Ghép chuỗi : Kết quả = toánhạng1 (& hay +) toánhạng2 - Dùng để nối các biểu thức chuỗi ký tự với nhau. Ví dụ : Cho A = “Access” B = “ 2000“ ? A+B “Access 2000” ? A & B “Access 2000” ? “ Que huong“ + “ la chum khe ngot” “Que huongla chum khe ngot” Chú ý : Nếu thay dấu & bằng dấu + thì có thể kết quả sai trong một số trường hợp. b) Phép toán Like : Kết quả = toánhạng1 Like toánhạng2 Cho trị là .T. nếu chuỗi bên trái có dạng giống chuỗi bên phải, ngược lại là .F. Ví dụ : “Access” Like ‘A ‘ ‘Access 2000’ Like ‘Access *’ .T. ‘Access 2000’ Like ‘?ccess*’ .T. 3) Toán tử xử lý ngày : a) Cho biết khoảng cách giữa hai ngày : Kết quả = toánhạng1 - toánhạng2 Ví dụ : ? #12/3/2004# - #5/3/2004# 7 b) Cộng hay trừ với một số : Kết quả = toánhạngngày + số Ví dụ : # 3/4/2004# + 22 #25/4/2004# 4) Toán tử luận lý (Logic ) : kếtquả = biểuthức1 toántử biểuthức2 A B NOT A A AND B A OR B A XOR B A EQV B A IMP B .T. .T. .F. .T. .T. .F. .T. .T. .T. .F. .F. .F. .T. .T. .F. .F. .F. .T. .T. .F. .T. .T. .F. .T. .F. .F. .T. .F. .F. .F. .T. .T. Độ ưu tiên của các phép toán giả m dần từ trái sang phải. o Phép toán NOT : Phủ định lại. o Phép toán AND : Đúng khi cả hai cùng đúng. o Phép toán OR : Sai khi cả hai cùng sai. o Phép toán XOR : Sai khi cả hai cùng đúng hoặc cùng sai. o Phép toán EQV : Đúng khi cả hai cùng đúng hay cùng sai. o Phép toán IMP : Sai khi a đúng B sai. 5) Toán tử quan hệ : TOÁN TỬ Ý NGHĨA VÍ DỤ = Bằng ‘a’ =’b’, 7=3 <> Khác ‘a’ !=’b’, 7<>3 < Nhỏ hơn ‘a’<’b’, 7<3 > Lớn hơn ‘a’>’b’, 7>3 <= Nhỏ hơn hoặc bằng ‘a’<=’b’, 7<=3 >= Lớn hơn hoặc bằng ‘a’>=’b’, 7>=3 Like Như là ‘TH001’ Like ‘TH*’ Is Là Masv Is Null Thứ tự ưu tiên các phép toán giảm dần từ trên xuống. 6) Các toán tử khác TOÁN TỬ Ý NGHĨA VÍ DỤ KẾT QUẢ Is So sánh bằng nhau giữa các đối tượng “Nam” Is “Nam” True In Nằm trong danh sách (Dùng trong Query) “hai” In “mot,hai,ba,…” True Between…And… Giữa hai giá trị (dùng trong Query) 2 Between 1 And 5 True II. HÀM TRONG ACCESS 1) Các hàm xử lý số. ABS(Number) Trả về trị tuyệt đối của Number. FIX(Number) Trả về phần nguyên của Number. INT(Number) Trả về số nguyen lớn nhất trong các số nguyên nhỏ hơn hoặc bằng Number. Sqr(Number) Trả về căn bậc hai của Number. 2) Các hàm xử lý chuỗi. ASC(String) Trả vầ giá trị mã ASCII của ký tự đầu tiên của chuỗi String. CHR$(Charcode) Trả về ký tự có mã ASCII là charcode, kết quả kiểu String. FORMAT$(Expression, fmt) Định dạng thức của Expression theo dạng fmt, kết quả là một chuỗi ký tự kiểu String. INSTR(Start, String1, String2)Tìm một vị trí đầu tiên trong chuỗi String1 tại đó xuất hiện chuỗi String2. LCASE$(String) Đổi những ký tự của String ra dạng chữ thường, kết quả kiểu String. LEFT$(String, n) Trả về n ký tự bên trái của String, kết quả kiểu tring. LEN(String) Trả về số ký tự có trong String. LTRIM$(String) Trả về chuỗi String đã cắt bỏ những ký tự trống bên trái, kết quả kiểu String. MID$(String, m, n) Trả về n ký tự trong chuỗi String bắt đầu từ vị trí m, kết quả kiểu String. RIGHT$(String, n) Trả về n ký tự bên phải của String, kết quả kiểu tring. RTRIM$(String) Trả về chuỗi String đã cắt bỏ những ký tự trống bên phải, kết quả kiểu String. SPACE$(Number) Trả về một chuỗi gồm Number ký tự trống, kết quả kiểu Variant. STRCOMP(String1, String2) Trả về giá trị xác định kết quả của phép so sánh hai chuỗi String1 và strìng. STRING$(n, char) Trả về một chuỗi gồm n ký tự char, kết quả kiểu String. UCASE(String) Đổi những ký tự của String ra dạnh chữ hoa, kết quả kiểu String. 2) Hàm xử lý ngày và thời gian DATE() Trả về kết quả là ngày hiện tại trong đồng hồ của máy, kết quả kiểu Date/time. DATE$() Trả về kết quả là ngày hiện tại trong đồng hồ của máy, kết quả kiểu String. DAY(DateExpr) Trả về giá trị xác định ngày (từ 1 đến 31) của DateExpr. HOUR(TimeExpr) Trả về giá trị xác định giờ trong ngày (từ 0 đến 23) của TimeExpr. MINUTE(TimeExpr) Trả về giá trị xác định phút trong giờ (từ 0 đến 59) của TimeExpr. MONTH(DateExpr) Trả về giá trị xác định tháng (từ 1 đến 12) của DateExpr. NOW() Trả về kết quả xla2 ngày giờ hiện tại trong đồng hồ của máy, kết quả là kiểu Variant. SECOND(TimeExpr) Trả về giá trị xác định giây trong một phút (từ 0 đến 59) của TimeExpr. TIME() Trả về kết quả là giờ hiện tại trong đồng hồ của máy, kết quả kiểu Date/time. TIME$() Trả về kết quả là giờ hiện tại trong đồng hồ của máy, kết quả kiểu String. TIMEVALUE(String) Trả về kết quả là một giá trị dạng giờ ứng với chuỗi String. WEEKDAY(DateExpr) Trả về kết quả là một số từ 1 đến 7 buie63u thị ngày trong tuần của DateExpr. YEAR(DateExpr) Trả về giá trị xác định năm (từ 100 đến 999) của DateExpr. DATEPART(”q/m/d/y”, Biểu thức ngày) : Lấy theo ngày, tháng, quí, năm. 3) Các hàm đổi kiểu CCUR(Expr) Trả về giá trị kiểu Currency từ biểu thức Expr. CDBL(Expr) Trả về một giá trị kiểu Double từ biểu thức Expr. CINT(Expr) Trả về một giá trị kiểu Integer từ biểu thức Expr. CLNG(Expr) Trả về một giá trị kiểu Long từ biểu thức Expr. CSNG(Expr) Trả về một giá trị kiểu Single từ biểu thức Expr. CSTR(Expr) Trả về một giá trị kiểu String từ biểu thức Expr. CVAR(Expr) Trả về một giá trị kiểu Variant từ biểu thức Expr. HEX(Number) Trả về một giá trị hệ thập lục phân ứng với số hệ thập phân Number, kết quả kiểu Variant HEX$(Number) Trả về một giá trị hệ thập lục phân ứng với số hệ thập phân Number, kết quả kiểu String. OCT(Number) Trả về một giá trị hệ bát phân ứng với số hệ thập phân Number, kết quả kiểu Variant OCT$(Number) Trả về một giá trị hệ bát phân ứng với số hệ thập phân Number, kết quả kiểu String. 4) Các hàm thống kê AVG(Expr) Trả về giá trị trung bình của biểu thức Expr trong những Record thuộc một tập hợp trong Query, Form, Report. COUNT(Expr) Trả về số Record thuộc một tập hợp trong Query, Form, Report. MAX(Expr) Trả về giá trị lớn nhất của biểu thức Expr trong những Record thuộc một tập hợp trong Query, Form, Report. MIN(Expr) Trả về giá trị nhỏ nhất của biểu thức Expr trong những Record thuộc một tập hợp trong Query, Form, Report. SUM(Expr) Trả về giá trị tổng của biểu thức Expr trong những Record thuộc một tập hợp trong Query, Form, Report. IIF(, ,

3/19/2020

Toán tử so sánh trong access
Toán tử so sánh trong access


Các tiêu chí truy vấn giúp bạn tập trung vào các mục cụ thể trong cơ sở dữ liệu Access. Nếu một mục khớp với tất cả các tiêu chí bạn nhập, mục đó sẽ xuất hiện trong kết quả truy vấn.

Để thêm tiêu chí vào truy vấn Access, hãy mở truy vấn đó trong cửa sổ Design và xác định các trường (cột) mà bạn muốn chỉ định tiêu chí. Nếu trường đó không nằm trong lưới thiết kế, hãy bấm đúp vào trường để thêm trường vào lưới thiết kế, rồi nhập tiêu chí vào hàng Criteria cho trường đó. Nếu bạn không rõ cách thực hiện thao tác này, hãy xem mục Giới thiệu về truy vấn.

Tiêu chí truy vấn là một biểu thức được Access so sánh với các giá trị trường truy vấn để xác định xem có đưa vào bản ghi chứa từng giá trị hay không. Ví dụ: = "Chicago" là một biểu thức mà Access có thể so sánh với các giá trị trong trường văn bản ở một truy vấn. Nếu giá trị của trường đó trong một bản ghi đã cho là "Chicago" thì Access sẽ đưa bản ghi đó vào các kết quả truy vấn.

Sau đây là một số ví dụ về các tiêu chí thường được sử dụng mà bạn có thể dùng làm điểm bắt đầu để lập tiêu chí của mình. Các ví dụ này được nhóm theo loại dữ liệu.

Trong chủ đề này

Giới thiệu về tiêu chí truy vấn

Tiêu chí cho các trường Văn bản, Bản ghi nhớ và Siêu kết nối

Tiêu chí cho các trường Số, Tiền tệ và Số Tự động

Tiêu chí cho trường Ngày/Giờ

Tiêu chí cho trường Có/Không

Tiêu chí cho các trường khác

Giới thiệu về tiêu chí truy vấn

Tiêu chí cũng tương tự như công thức — tiêu chí là một chuỗi có thể bao gồm các tham chiếu trường, toán tử và hằng số. Tiêu chí truy vấn còn được gọi là biểu thức trong Access.

Bảng sau đây cho thấy một số tiêu chí mẫu và giải thích cách thức hoạt động của các tiêu chí đó.

Tiêu chí

Mô tả

>25 và <50

Tiêu chí này áp dụng cho trường Số, chẳng hạn như Giá_cả hoặc Hàng_Trong_Kho. Tiêu chí này chỉ bao gồm những bản ghi có trường Giá_cả hoặc Hàng_Trong_Kho chứa giá trị lớn hơn 25 và nhỏ hơn 50.

DateDiff ("yyyy", [BirthDate], Date()) > 30

Tiêu chí này áp dụng cho trường Ngày/Giờ, chẳng hạn như Ngày_Sinh. Chỉ những bản ghi có số năm tính từ ngày sinh của một người cho đến ngày hôm nay lớn hơn 30 được đưa vào kết quả truy vấn.

Is Null

Tiêu chí này có thể được áp dụng cho mọi loại trường để hiển thị những bản ghi có giá trị trường là null.

Như bạn có thể thấy, các tiêu chí có thể trông rất khác nhau, tùy theo kiểu dữ liệu của trường mà tiêu chí áp dụng và yêu cầu cụ thể của bạn. Một số tiêu chí rất đơn giản và sử dụng các toán tử cũng như hằng số cơ bản. Các tiêu chí khác lại phức tạp, đồng thời sử dụng các hàm, toán tử đặc biệt và chứa các tham chiếu trường.

Chủ đề này liệt kê một số tiêu chí thường được sử dụng theo kiểu dữ liệu. Nếu các ví dụ được đưa ra trong chủ đề này không giải quyết nhu cầu cụ thể của bạn thì có thể bạn cần phải viết tiêu chí của riêng mình. Để làm điều đó, trước tiên, bạn phải tự làm quen với toàn bộ danh sách các hàm, toán tử, ký tự đặc biệt và cú pháp của các biểu thức tham chiếu đến các trường và ký tự.

Tại đây, bạn sẽ thấy nơi và cách bạn thêm tiêu chí. Để thêm tiêu chí vào truy vấn, bạn phải mở truy vấn trong chế độ xem Design. Sau đó, bạn xác định trường mà mình muốn chỉ định tiêu chí. Nếu trường đó không có sẵn trong lưới thiết kế, bạn hãy thêm trường bằng cách kéo trường từ cửa sổ thiết kế truy vấn vào lưới trường hoặc bằng cách bấm đúp vào trường đó (Việc bấm đúp vào trường có tác dụng tự động thêm trường vào cột trống tiếp theo trong lưới trường.). Cuối cùng, bạn nhập tiêu chí vào hàng Criteria

Tiêu chí mà bạn chỉ định cho các trường khác nhau trong hàng Criteria được kết hợp bằng cách sử dụng toán tử AND. Nói cách khác, tiêu chí được xác định trong trường Thành_phố và Ngày_Sinh được diễn giải như sau:

Thành phố = "Chicago" AND BirthDate < DateAdd (" yyyy ", -40, Date())

Toán tử so sánh trong access

1. Trường Thành_phố và Ngày_Sinh có chứa các tiêu chí.

2. Chỉ những bản ghi có giá trị trường Thành_phố là Chicago mới thỏa mãn tiêu chí này.

3. Chỉ những bản ghi của những người từ 40 tuổi trở lên mới đáp ứng tiêu chí này

4. Chỉ những bản ghi đáp ứng cả hai tiêu chí mới được đưa vào kết quả.

Điều gì sẽ xảy ra nếu bạn chỉ muốn đáp ứng một trong những điều kiện này? Nói cách khác, nếu bạn có tiêu chí thay thế, bạn sẽ nhập các tiêu chí đó như thế nào?

Nếu bạn có tiêu chí thay thế hoặc hai tập hợp tiêu chí độc lập và chỉ cần đáp ứng một trong hai tập hợp đó thì bạn sẽ sử dụng cả hàng Tiêu chí và hàng hoặc trong lưới thiết kế.

Toán tử so sánh trong access

1. Tiêu chí Thành phố được chỉ định trong hàng Tiêu chí.

2. Tiêu chí Ngày sinh được xác định trong hàng or.

Các tiêu chí đã chỉ định trong các hàng Criteria và or được kết hợp bằng cách sử dụng toán tử OR, như dưới đây:

Thành_phố = "Chicago" OR BirthDate < DateAdd (" yyyy ", -40, Date())

Nếu bạn cần chỉ định thêm lựa chọn thay thế, hãy sử dụng các hàng bên dưới hàng hoặc.

Trước khi bạn tiếp tục với các ví dụ, hãy lưu ý những điều sau đây:

  • Nếu tiêu chí là tạm thời hoặc thường xuyên thay đổi thì bạn có thể lọc kết quả truy vấn thay vì thường xuyên sửa đổi tiêu chí truy vấn. Bộ lọc là tiêu chí tạm thời có tác dụng thay đổi kết quả truy vấn mà không thay đổi thiết kế của truy vấn. Để biết thêm thông tin về bộ lọc, xem bài viết Áp dụng bộ lọc để xem bản ghi chọn lọc trong cơ sở dữ liệu Access.
  • Nếu trường tiêu chí không thay đổi nhưng giá trị bạn quan tâm thay đổi thường xuyên thì bạn có thể tạo truy vấn tham số. Truy vấn tham số nhắc người dùng nhập các trường giá trị, rồi sử dụng những giá trị đó để tạo tiêu chí truy vấn. Để biết thêm thông tin về truy vấn tham số, xem bài viết Sử dụng tham số trong truy vấn và báo cáo.

Tiêu chí cho các trường Văn bản, Bản ghi nhớ và Hyperlink

Lưu ý: Bắt đầu từ Access 2013, trường Văn bản hiện có tên là Short Text  và trường Bản ghi nhớ hiện có tên là Long Text.

Ví dụ sau đây là cho trường Quốc_gia_Vùng_lãnh_thổ trong truy vấn được dựa trên bảng lưu trữ thông tin liên hệ. Tiêu chí được chỉ định trong hàng Tiêu chí của trường trong lưới thiết kế.

Toán tử so sánh trong access

Tiêu chí mà bạn chỉ định cho trường Hyperlink theo mặc định được áp dụng cho phần văn bản hiển thị của giá trị trường. Để chỉ định tiêu chí cho phần Uniform Resource Locator (URL) đích của giá trị, hãy sử dụng biểu thức HyperlinkPart. Cú pháp biểu thức này như sau: HyperlinkPart([Table1].[Field1],1) = "http://www.microsoft.com/", trong đó Table1 là tên của bảng có chứa trường Hyperlink, “Field1” là trường Hyperlink và http://www.microsoft.com là URL mà bạn muốn khớp.

Để bao gồm bản ghi...

Sử dụng tiêu chí này

 

Kết quả truy vấn

Khớp chính xác với một giá trị, chẳng hạn như China

"China"

 

Trả về bản ghi có trường CountryRegion được đặt là "China".

Không khớp với một giá trị, chẳng hạn như Mexico

Not "Mexico"

 

Trả về bản ghi có trường CountryRegion được đặt là một quốc gia/vùng lãnh thổ không phải Mexico.

Bắt đầu bằng chuỗi đã cho, chẳng hạn như U

Like U*

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ có tên bắt đầu bằng chữ "U", chẳng hạn như UK (Vương quốc Anh), USA (Hoa Kỳ), v.v..

Lưu ý: Khi được sử dụng trong một biểu thức, dấu sao (*) đại diện cho bất kỳ chuỗi ký tự nào — dấu sao còn được gọi là ký tự đại diện. Để biết danh sách các ký tự đó, hãy xem bài viết Tham khảo về ký tự đại diện trong Access.

Không bắt đầu bằng chuỗi đã cho, chẳng hạn như U

Not Like U*

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ có tên bắt đầu bằng một ký tự không phải "U".

Có chứa chuỗi đã cho, chẳng hạn như Korea

Like "*Korea*"

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ có chứa chuỗi "Korea" (Hàn Quốc).

Không chứa chuỗi đã cho, chẳng hạn như Korea (Hàn Quốc)

Not Like "*Korea*"

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ không chứa chuỗi "Korea" (Hàn Quốc).

Kết thúc bằng chuỗi đã cho, chẳng hạn như "ina"

Like "*ina"

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ có tên kết thúc bằng "ina" chẳng hạn như China (Trung Quốc) và Argentina.

Không kết thúc bằng chuỗi đã cho, chẳng hạn như "ina"

Not Like "*ina"

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ có tên không kết thúc bằng "ina" chẳng hạn như China (Trung Quốc) và Argentina.

Chứa các giá trị rỗng (hoặc thiếu)

Is Null

 

Trả về bản ghi mà trường đó không chứa giá trị.

Không chứa các giá trị rỗng

Is Not Null

 

Trả về bản ghi mà trường đó có chứa giá trị.

Có chứa các chuỗi độ dài bằng 0

"" (một cặp dấu ngoặc kép)

 

Trả về bản ghi có trường được để trống (nhưng không phải là null). Ví dụ: các bản ghi giao dịch bán hàng được tạo cho một phòng khác có thể chứa giá trị trống trong trường Quốc_gia_Vùng_lãnh_thổ.

Không chứa các chuỗi độ dài bằng 0

Not ""

 

Trả về bản ghi mà trường Quốc_gia_Vùng_lãnh_thổ có giá trị không trống.

Có chứa các giá trị rỗng hoặc các chuỗi độ dài bằng 0

"" Or Is Null

 

Trả về bản ghi không có giá trị trong trường hoặc trường được đặt là một giá trị trống.

Is not empty or blank

Is Not Null And Not ""

 

Trả về bản ghi có trường Quốc_gia_Vùng_lãnh_thổ có giá trị không trống, không phải là null.

Theo sau một giá trị, chẳng hạn như Mexico, khi được sắp xếp theo thứ tự bảng chữ cái

>= "Mexico"

 

Trả về bản ghi của tất cả các quốc gia/vùng lãnh thổ, bắt đầu bằng Mexico và tiếp tục đến cuối bảng chữ cái.

Nằm trong một phạm vi cụ thể, chẳng hạn như A đến D

Like "[A-D]*"

 

Trả về bản ghi cho các quốc gia/vùng lãnh thổ có tên bắt đầu bằng các chữ cái "A" đến "D".

Khớp với một trong hai giá trị, chẳng hạn như USA hoặc UK

"USA" Or "UK"

 

Trả về bản ghi cho USA (Hoa Kỳ) và UK (Vương quốc Anh).

Có chứa một trong các giá trị trong danh sách giá trị

In("France", "China", "Germany", "Japan")

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ được chỉ định trong danh sách.

Có chứa các ký tự nhất định ở một vị trí cụ thể trong giá trị trường

Right([CountryRegion], 1) = "y"

 

Trả về bản ghi cho tất cả các quốc gia/vùng lãnh thổ có ký tự cuối cùng là "y".

Thỏa mãn yêu cầu về độ dài

Len([CountryRegion]) > 10

 

Trả về bản ghi cho các quốc gia/vùng lãnh thổ có tên dài hơn 10 ký tự.

Khớp với một mẫu hình cụ thể

Like "Chi??"

 

Trả về bản ghi cho các quốc gia/vùng lãnh thổ có tên dài năm ký tự và ba ký tự đầu là "Chi", chẳng hạn như China (Trung Quốc) và Chile.

Lưu ý: Các ký tự ? và _, khi được dùng trong một biểu thức, đại diện cho một ký tự đơn — những ký tự này cũng được gọi là ký tự đại diện. Không thể sử dụng ký tự _ trong cùng biểu thức với ký tự ? và cũng không thể sử dụng ký tự này trong cùng biểu thức với ký tự đại diện *. Bạn có thể sử dụng ký tự đại diện _ trong biểu thức cũng chứa ký tự đại diện %.

Tiêu chí cho các trường Số, Tiền_tệ và Số_Tự_động

Ví dụ sau đây là cho trường UnitPrice trong truy vấn được dựa trên bảng lưu trữ thông tin sản phẩm. Tiêu chí được chỉ định trong hàng Criteria của trường trong lưới thiết kế truy vấn.

Toán tử so sánh trong access

Để bao gồm bản ghi...

 

Sử dụng tiêu chí này

 

Kết quả Truy vấn

Khớp chính xác với một giá trị, chẳng hạn như 100

 

100

 

Trả về bản ghi có đơn giá sản phẩm là $100.

Không khớp với một giá trị, chẳng hạn như 1000

 

Not 1000

 

Trả về bản ghi có đơn giá sản phẩm không phải là $1000.

Có chứa một giá trị nhỏ hơn một giá trị nào đó, chẳng hạn như 100

 

< 100
<= 100

 

Trả về bản ghi có đơn giá nhỏ hơn $100 (<100). Biểu thức thứ hai (<=100) hiển thị các bản ghi có đơn giá nhỏ hơn hoặc bằng $100.

Có chứa một giá trị lớn hơn một giá trị nào đó, chẳng hạn như 99,99

 

>99,99
>=99,99

 

Trả về bản ghi có đơn giá lớn hơn $99,99 (>99,99). Biểu thức thứ hai hiển thị các bản ghi có đơn giá lớn hơn hoặc bằng $99,99.

Có chứa một trong hai giá trị, chẳng hạn như 20 hoặc 25

 

20 or 25

 

Trả về bản ghi có đơn giá là $20 hoặc $25.

Có chứa một giá trị nằm trong một phạm vi giá trị

 

>49,99 and <99.99 -or-

Between 50 and 100

 

Trả về bản ghi có đơn giá trong khoảng (nhưng không bao gồm) $49,99 đến $99,99.

Có chứa một giá trị nằm ngoài một phạm vi

 

<50 or >100

 

Trả về bản ghi có đơn giá không nằm trong khoảng $50 đến $100.

Có chứa một trong nhiều giá trị cụ thể

 

In(20, 25, 30)

 

Trả về bản ghi có đơn giá là $20, $25 hoặc $30.

Có chứa một giá trị kết thúc bằng các chữ số đã cho

 

Like "*4,99"

 

Trả về bản ghi có đơn giá kết thúc bằng "4,99", chẳng hạn như $4,99, $14,99, $24,99, v.v..

Lưu ý: Các ký tự * và %, khi được dùng trong một biểu thức, đại diện cho một số ký tự bất kỳ — những ký tự này còn được gọi là ký tự đại diện. Không thể sử dụng ký tự % trong cùng biểu thức với ký tự * và cũng không thể sử dụng ký tự này trong cùng biểu thức với ký tự đại diện ?. Bạn có thể sử dụng ký tự đại diện % trong biểu thức cũng chứa ký tự đại diện _.

Chứa các giá trị null (hoặc thiếu giá trị)

 

Is Null

 

Trả về bản ghi mà trong đó không có giá trị nào được nhập vào trường Đơn_Giá.

Có chứa các giá trị không rỗng

 

Is Not Null

 

Trả về bản ghi mà trường Đơn_Giá có chứa giá trị.

Tiêu chí cho trường Ngày/Giờ

Các ví dụ sau đây là cho trường OrderDate trong truy vấn được dựa trên bảng lưu trữ thông tin Đơn hàng. Tiêu chí được chỉ định trong hàng Criteria của trường trong lưới thiết kế truy vấn.

Toán tử so sánh trong access

Để bao gồm bản ghi ...

 

Sử dụng tiêu chí này

 

Kết quả truy vấn

Khớp chính xác một giá trị, chẳng hạn như 02/02/2006

 

#02/02/2006#

 

Trả về bản ghi của các giao dịch diễn ra vào 02/02/2006. Nhớ đặt ký tự # xung quanh các giá trị ngày để Access có thể phân biệt giữa giá trị ngày và chuỗi văn bản.

Không khớp giá trị, chẳng hạn như 02/02/2006

 

Not #02/02/2006#

 

Trả về bản ghi của các giao dịch không diễn ra vào 02/02/2006.

Chứa các giá trị trước một ngày nhất định, chẳng hạn như 02/02/2006

 

< #02/02/2006#

 

Trả về bản ghi của các giao dịch diễn ra trước ngày 02/02/2006.

Để xem các giao dịch diễn ra vào hoặc trước ngày này, hãy sử dụng toán tử <= thay vì toán tử .

Chứa các giá trị sau một ngày nhất định, chẳng hạn như 02/02/2006

 

> #02/02/2006#

 

Trả về bản ghi của các giao dịch diễn ra sau 02/02/2006.

Để xem các giao dịch diễn ra vào hoặc sau ngày này, hãy sử dụng toán tử >= thay vì toán tử >.

Chứa các giá trị nằm trong một phạm vi ngày

 

>#02/02/2006# and <#04/02/2006#

 

Trả về bản ghi có các giao dịch diễn ra trong khoảng từ 02/02/2006 đến 04/02/2006.

Bạn cũng có thể sử dụng toán tử Between để lọc một phạm vi giá trị, bao gồm các điểm cuối. Ví dụ: Between #02/02/2006# and #04/02/2006# cũng giống như >=#02/02/2006# and <=#04/02/2006# .

Chứa giá trị nằm ngoài phạm vi

 

<#02/02/2006# or >#04/02/2006#

 

Trả về bản ghi có các giao dịch diễn ra trước 02/02/2006 hoặc sau 04/02/2006.

Chứa một trong hai giá trị, chẳng hạn như 02/02/2006 hoặc 03/02/2006

 

#02/02/2006# or #03/02/2006#

 

Trả về bản ghi của các giao dịch diễn ra vào 02/02/2006 hoặc 03/02/2006.

Chứa một trong số nhiều giá trị

 

In (#01/02/2006#, #01/03/2006#, #01/04/2006#)

 

Trả về bản ghi có các giao dịch diễn ra vào 01/02/2006, 01/03/2006 hoặc 01/04/2006.

Chứa một ngày trong một tháng cụ thể (không phân biệt năm), chẳng hạn như Tháng Mười Hai.

 

DatePart("m", [SalesDate]) = 12

 

Trả về bản ghi có các giao dịch diễn ra vào Tháng Mười Hai của bất cứ năm nào.

Chứa một ngày trong một quý cụ thể (không phân biệt năm), chẳng hạn như quý một

 

DatePart("q", [SalesDate]) = 1

 

Trả về bản ghi có các giao dịch diễn ra vào quý một của bất cứ năm nào.

Chứa ngày hôm nay

 

Date()

 

Trả về bản ghi của các giao dịch diễn ra vào ngày hiện tại. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi có trường Ngày_Đặt_hàng được đặt là 02/02/2006.

Chứa ngày hôm qua

 

Date()-1

 

Trả về bản ghi của các giao dịch diễn ra vào ngày trước ngày hiện tại. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho 01/02/2006.

Chứa ngày mai

 

Date() + 1

 

Trả về bản ghi của các giao dịch diễn ra vào ngày sau ngày hiện tại. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho 03/02/2006.

Chứa các ngày trong tuần hiện tại

 

DatePart("ww", [SalesDate]) = DatePart("ww", Date()) and Year( [SalesDate]) = Year(Date())

 

Trả về bản ghi của các giao dịch diễn ra trong tuần hiện tại. Một tuần bắt đầu vào Chủ Nhật và kết thúc vào 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ề bản ghi của các giao dịch diễn ra trong tuần trước. Một tuần bắt đầu vào Chủ Nhật và kết thúc vào Thứ Bảy.

Chứa các ngày trong tuần sau đó

 

Year([SalesDate])* 53+DatePart("ww", [SalesDate]) = Year(Date())* 53+DatePart("ww", Date()) + 1

 

Trả về bản ghi của các giao dịch diễn ra trong tuần tiếp theo. Một tuần bắt đầu vào Chủ Nhật và kết thúc vào Thứ Bảy.

Chứa một ngày trong vòng 7 ngày trước

 

Between Date() and Date()-6

 

Trả về bản ghi của các giao dịch diễn ra trong 7 ngày trước. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy bản ghi cho khoảng thời gian từ 24/01/2006 đến hết 02/02/2006.

Chứa một ngày của tháng hiện tại

 

Year([SalesDate]) = Year(Now()) And Month([SalesDate]) = Month(Now())

 

Trả về các bản ghi cho tháng hiện tại. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho Tháng Hai 2006.

Chứa một ngày của tháng trước đó

 

Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) - 1

 

Trả về các bản ghi cho tháng trước đó. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho Tháng Một 2006.

Chứa một ngày của tháng tiếp theo

 

Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) + 1

 

Trả về các bản ghi cho tháng tiếp theo. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho Tháng Ba 2006.

Chứa một ngày trong vòng 30 hoặc 31 ngày trước

 

Between Date( ) And DateAdd("M", -1, Date( ))

 

Các bản ghi giá trị doanh số của một tháng Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy bản ghi cho khoảng thời gian từ 02/01/2006 đến 02/02/2006.

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ề bản ghi cho quý hiện tại. Nếu hôm nay là ngày 02/02/2006, bạn sẽ thấy bản ghi của quý một năm 2006.

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ề bản ghi cho quý trước đó. Nếu hôm nay là ngày 02/02/2006, bạn sẽ thấy bản ghi của quý cuối năm 2005.

Chứa một ngày trong quý tiếp theo

 

Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())+1

 

Trả về bản ghi cho quý tiếp theo. Nếu hôm nay là 02/02/2006, bạn sẽ thấy bản ghi của quý hai năm 2006.

Chứa một ngày trong năm hiện tại

 

Year([SalesDate]) = Year(Date())

 

Trả về các bản ghi cho năm hiện tại. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho năm 2006.

Chứa một ngày trong năm trước đó

 

Year([SalesDate]) = Year(Date()) - 1

 

Trả về bản ghi của các giao dịch diễn ra trong năm trước đó. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho năm 2005.

Chứa một ngày trong năm tiếp theo

 

Year([SalesDate]) = Year(Date()) + 1

 

Trả về bản ghi của các giao dịch với ngày trong năm tiếp theo. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy các bản ghi cho năm 2007.

Chứa một ngày trong phạm vi từ 01 Tháng Một đến hôm nay (các bản ghi từ đầu năm đến nay)

 

Year([SalesDate]) = Year(Date()) and Month([SalesDate]) <= Month(Date()) and Day([SalesDate]) <= Day (Date())

 

Trả về bản ghi của các giao dịch với các ngày trong phạm vi từ 01 Tháng Một của năm hiện tại đến hôm nay. Nếu ngày hôm nay là 02/02/2006, bạn sẽ thấy bản ghi cho khoảng thời gian từ 01/01/2006 đến 02/02/2006.

Chứa một ngày đã xảy ra trong quá khứ

 

< Date()

 

Trả về bản ghi của các giao dịch diễn ra trước ngày hôm nay.

Chứa một ngày trong tương lai

 

> Date()

 

Trả về bản ghi của các giao dịch diễn ra sau ngày hôm nay.

Bộ lọc cho giá trị null (hoặc thiếu)

 

Is Null

 

Trả về các bản ghi bị thiếu ngày giao dịch.

Bộ lọc cho giá trị không phải là null

 

Is Not Null

 

Trả về các bản ghi có ngày giao dịch.

Tiêu chí cho trường Có/Không

Ví dụ, bảng Customers của bạn có một trường Yes/No mang tên Active, được dùng để chỉ báo liệu tài khoản của khách hàng có hiện hoạt hay không. Bảng sau đây hiển thị cách thức các giá trị được nhập vào hàng Tiêu chí đối với trường Yes/No được đánh giá như thế nào.

Giá trị trường

Kết quả

Yes, True, 1 hoặc -1

Kiểm tra giá trị Yes. Giá trị của 1 hay -1 được chuyển thành "True" trong hàng Tiêu chí sau khi bạn nhập giá trị vào.

No, False hoặc 0

Kiểm tra giá trị No. Giá trị của 0 được chuyển thành "False" trong hàng Tiêu chí sau khi bạn nhập giá trị vào.

Không có giá trị (null)

Không kiểm tra

Bất kỳ số nào ngoài 1, -1 hay 0

Không có kết quả nào nếu đó là giá trị tiêu chí duy nhất trong trường

Bất kỳ chuỗi giá trị nào ngoài Yes, No, True hoặc False

Truy vấn không chạy vì lỗi không khớp kiểu Dữ liệu

Tiêu chí cho các trường khác

Tệp đính kèm    Trong hàng Criteria, nhập Is Null để bao gồm các bản ghi không chứa bất cứ tệp đính kèm nào. Nhập Is Not Null để bao gồm các bản ghi có chứa các tệp đính kèm.

Trường tra cứu    Có hai loại trường Tra cứu: trường tra cứu giá trị trong nguồn dữ liệu hiện có (bằng cách sử dụng foreign key) và trường dựa trên danh sách các giá trị đã chỉ định khi tạo trường Tra cứu.

Các trường tra cứu dựa trên danh sách các giá trị đã chỉ định đều thuộc loại dữ liệu Văn bản, đồng thời các tiêu chí hợp lệ tương tự như các trường văn bản khác.

Tiêu chí mà bạn có thể sử dụng trong trường Tra cứu dựa trên các giá trị từ một nguồn dữ liệu hiện có sẽ phụ thuộc vào kiểu dữ liệu foreign key, chứ không phải kiểu dữ liệu cần tra cứu. Ví dụ: bạn có thể có trường Tra cứu hiển thị Tên Nhân viên nhưng sử dụng khóa ngoại thuộc kiểu dữ liệu Số. Vì trường lưu trữ một số thay vì văn bản nên bạn sẽ sử dụng tiêu chí hoạt động với các số; là >2.

Nếu bạn không biết loại dữ liệu của khóa ngoại thì bạn có thể kiểm tra bảng nguồn trong cửa sổ Design để xác định kiểu dữ liệu của trường đó. Để thực hiện điều này:

  1. Định vị bảng nguồn trong khung điều hướng.
  2. Mở bảng trong cửa sổ Design bằng một trong các cách sau:
    • Bấm vào bảng, rồi nhấn CTRL+ENTER
    • Bấm chuột phải vào bảng, rồi bấm vào Design View.
  3. Kiểu dữ liệu cho mỗi trường được liệt kê trong cột Data Type của lưới thiết kế bảng.

Trường đa giá trị    Dữ liệu trong trường đa giá trị được lưu trữ dưới dạng các hàng trong một bảng ẩn mà Access tạo và điền để đại diện cho trường đó. Trong cửa sổ Design, điều này được thể hiện trong Field List bằng cách sử dụng trường có thể bung rộng. Để sử dụng tiêu chí cho trường đa giá trị, bạn cung cấp tiêu chí cho một hàng đơn của bảng ẩn. Để thực hiện điều này:

  1. Tạo một truy vấn có chứa trường đa giá trị, rồi mở truy vấn đó ở cửa sổ Thiết kế.
  2. Mở rộng trường đa giá trị bằng cách bấm vào ký hiệu dấu cộng (+) bên cạnh trường đó — nếu trường đã được bung rộng, đây sẽ là ký hiệu dấu trừ (-). Ngay dưới tên trường, bạn sẽ thấy một trường đại diện cho một giá trị đơn của trường đa giá trị đó. Trường này sẽ có cùng tên với trường đa giá trị, có gắn chuỗi .Value.
  3. Kéo trường đa giá trị và trường giá trị đơn của trường đa giá trị để phân tách các cột trong lưới thiết kế. Nếu bạn chỉ muốn xem toàn bộ trường đa giá trị trong kết quả của mình, hãy bỏ chọn hộp kiểm Show cho trường giá trị đơn.
  4. Nhập tiêu chí của bạn vào hàng Criteria cho trường giá trị đơn bằng cách sử dụng tiêu chí phù hợp cho bất cứ kiểu dữ liệu nào mà các giá trị đại diện.
  5. Mỗi giá trị trong trường đa giá trị sẽ được đánh giá riêng lẻ bằng cách sử dụng các tiêu chí bạn cung cấp. Ví dụ: bạn có thể có trường đa giá trị lưu trữ danh sách các số. Nếu bạn cung cấp tiêu chí >5 AND <3, bất cứ bản ghi nào có ít nhất một giá trị lớn hơn 5  một giá trị nhỏ hơn 3 cũng sẽ khớp.