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
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í đó.
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()) 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ế. 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:
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ế. 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.
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.
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.
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.
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:
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:
|