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’, 73 < Nhỏ hơn ‘a’’b’, 7>3 =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[, ,25 và 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 = "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.

Để 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
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 .

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

 

>#02/02/2006# and =#02/02/2006# and 5 AND

Chủ Đề