Đánh giá một chuỗi các biểu thức và trả về một giá trị kiểu Biến_thể hoặc biểu thức liên quan đến biểu thức đầu tiên trong danh sách có giá trị True.
Cú pháp
Switch(expr-1, value-1 [, expr-2, value-2 ] ... [, biểu_thức-n, giá trị-n ] )
Cú pháp hàm Switch có các đối số sau:
| Đối số | Mô tả |
|---|---|
| expr | Bắt buộc. Biểu thức biến thể bạn muốn đánh giá. |
| Value | Bắt buộc. Giá trị hoặc biểu thức trả về nếu biểu thức tương ứng là True. |
Chú thích
Danh sách đối số hàm Switch bao gồm các cặp biểu thức và giá trị. Các biểu thức được đánh giá từ trái sang phải và giá trị liên kết với biểu thức đầu tiên cần đánh giá là True sẽ được trả về. Nếu các phần không được ghép nối đúng cách, lỗi thời gian chạy sẽ xảy ra. Ví dụ, nếu expr-1 là True, thì Switch trả về value-1. Nếu expr-1 là False nhưng expr-2 là True, thì Switch trả về value-2, v.v.
Switch trả về giá trị Null nếu:
- Không có biểu thức nào là True.
- Biểu thức True đầu tiên có một giá trị tương ứng là Null.
Switch đánh giá tất cả các biểu thức, mặc dù chỉ trả về một trong số các biểu thức. Vì lý do này, bạn nên theo dõi các hiệu ứng phụ không mong muốn. Ví dụ: nếu việc đánh giá bất kỳ biểu thức nào dẫn đến lỗi chia theo bằng không, thì lỗi sẽ xuất hiện.
Ví dụ về truy vấn
| Biểu thức | Kết quả |
|---|---|
| SELECT ProductSales.ProductID, Switch([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1","Ten") AS testSwitch FROM ProductSales; | Trả về "ID_sản_phẩm", đánh giá các biểu thức trong công thức "Switch" và chuyển các giá trị hiện có với các giá trị xác định cho tất cả các biểu thức "True". Ví dụ: "PRO_XYZ1" được thay thế bằng "First", "PRO_XYZ2" được thay thế bằng "Two", v.v. |
Ví dụ về VBA
Lưu ý
Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ này sử dụng hàm Switch để trả về tên của một ngôn ngữ khớp với tên của thành phố.
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "London", "English", _
CityName = "Rome", "Italian", _
CityName = "Paris", "French")
End Function