Bạn có thể sử dụng hành động macro GoToControl trong cơ sở dữ liệu Access trên máy tính và các ứng dụng web Access để di chuyển tiêu điểm đến trường hoặc điều khiển đã xác định trong bản ghi hiện tại của biểu mẫu mở , biểu mẫu biểu dữ liệu, biểu dữ liệu bảng hoặc biểu dữ liệu truy vấn. Bạn có thể sử dụng hành động này khi bạn muốn một trường hoặc điều khiển cụ thể có tiêu điểm. Sau đó, bạn có thể sử dụng trường hoặc điều khiển này để so sánh hoặc hành động FindRecord . Bạn cũng có thể sử dụng hành động này để dẫn hướng trong biểu mẫu theo một số điều kiện nhất định. Ví dụ, nếu người dùng nhập Không trong điều khiển Đã kết hôn trên biểu mẫu bảo hiểm y tế, tiêu điểm có thể tự động bỏ qua điều khiển Tên Vợ/chồng và chuyển sang điều khiển tiếp theo.
Thiết đặt
Hành động GoToControl có đối số sau đây.
Đối số hành động |
Mô tả |
Control Name |
Nhập tên trường hoặc điều khiển bạn muốn đặt tiêu điểm. Đây là đối số bắt buộc. Lưu ý: Chỉ nhập tên của trường hoặc điều khiển vào đối số Control Name chứ không nhập mã định danh đầy đủ tiêu chuẩn, chẳng hạn như [Forms]! [Sản phẩm]! [ID Sản phẩm] nếu bạn đang sử dụng cơ sở dữ liệu Access trên máy tính. |
Chú thích
Bạn không thể sử dụng hành động macro GoToControl để di chuyển tiêu điểm đến một điều khiển trên biểu mẫu ẩn.
Mẹo: Bạn có thể sử dụng hành động macro GoToControl để di chuyển biểu mẫu con, là một loại điều khiển. Sau đó, bạn có thể sử dụng hành động GoToRecord để di chuyển đến một bản ghi cụ thể trong biểu mẫu con. Bạn cũng có thể di chuyển đến điều khiển trên biểu mẫu con bằng cách sử dụng hành động GoToControl để di chuyển đầu tiên đến biểu mẫu con, rồi đến điều khiển trên biểu mẫu con.
Để chạy hành động GoToControl trong mô-đun Visual Basic for Applications (VBA), hãy sử dụng phương pháp GoToControl của đối tượng DoCmd. Bạn cũng có thể sử dụng phương pháp SetFocus để di chuyển tiêu điểm đến điều khiển trên biểu mẫu hoặc bất kỳ biểu mẫu con nào của biểu mẫu con hoặc đến một trường trong bảng, truy vấn hoặc biểu dữ liệu biểu mẫu đang mở.
Ví dụ
Đặt giá trị của điều khiển bằng cách sử dụng macro
Macro sau đây sẽ mở biểu mẫu Thêm Sản phẩm từ một nút trên biểu mẫu Nhà cung cấp. Nó cho thấy việc sử dụng các hành động Echo, Close, OpenForm, SetValuevà GoToControl . Hành động SetValue đặt điều khiển ID Nhà cung cấp trên biểu mẫu Sản phẩm cho nhà cung cấp hiện tại trên biểu mẫu Nhà cung cấp. Hành động GoToControl sau đó sẽ di chuyển tiêu điểm đến trường ID Thể loại, nơi bạn có thể bắt đầu nhập dữ liệu cho sản phẩm mới. Macro này phải được đính kèm vào nút Thêm Sản phẩm trên biểu mẫu Nhà cung cấp.
Hành động |
Đối số: Thiết đặt |
Chú thích |
Echo |
Echo On: Không |
Dừng cập nhật màn hình trong khi macro đang chạy. |
Đóng |
Loại Đối tượng: Biểu mẫu Tên Đối tượng: Danh sách Sản phẩm Lưu: Không |
Đóng biểu mẫu Danh sách Sản phẩm. |
Biểu mẫu Mở |
Tên Biểu mẫu: Sản phẩm Dạng xem: Biểu mẫu Chế độ Dữ liệu: Thêm Chế độ Cửa sổ: Bình thường |
Mở biểu mẫu Sản phẩm. |
SetValue |
Mặt hàng: [Biểu mẫu]! [Sản phẩm]! [ID Nhà cung cấp] Biểu thức: ID Nhà cung cấp |
Đặt điều khiển ID Nhà cung cấp cho nhà cung cấp hiện tại trên biểu mẫu Nhà cung cấp. |
GoToControl |
Tên Điều khiển: CategoryID |
Đi đến điều khiển ID Thể loại. |
Xác thực dữ liệu bằng cách sử dụng macro
Macro xác thực sau đây kiểm tra mã bưu chính đã nhập trong biểu mẫu Nhà cung cấp. Nó cho thấy việc sử dụng các hành động StopMacro, MessageBox, CancelEventvà GoToControl . Một biểu thức có điều kiện sẽ kiểm tra quốc gia/khu vực và mã bưu chính đã nhập trong một bản ghi trên biểu mẫu. Nếu mã bưu chính không có định dạng phù hợp cho quốc gia/khu vực, macro sẽ hiển thị hộp thông báo và hủy lưu bản ghi. Macro sau đó sẽ trả bạn về điều khiển Mã Bưu chính, tại đó bạn có thể sửa lỗi. Macro này nên được đính kèm vào thuộc tính BeforeUpdate của biểu mẫu Nhà cung cấp.
Điều kiện |
Hành động |
Đối số: Thiết đặt |
Chú thích |
If IsNull([Quốc_gia_Vùng_lãnh_thổ]) |
StopMacro |
Nếu Quốc_gia_Vùng_lãnh _thổ là Null, mã bưu chính không thể xác thực. |
|
If [CountryRegion] In ("France","Italy","Spain") And Len([Mã Bưu chính]) <> 5 |
Hộp Thông báo |
Thông báo: Mã bưu chính phải có 5 ký tự. Bíp: Có Loại: Thông tin Tiêu đề: Lỗi Mã Bưu chính |
Nếu mã bưu chính không phải là 5 ký tự, hãy hiển thị thông báo. |
Hủy bỏ sự phát hành |
Hủy bỏ sự kiện. |
||
GoToControl |
Control Name: PostalCode |
||
If [CountryRegion] In ("Australia","Singapore") And Len([Mã Bưu chính]) <> 4 |
Hộp Thông báo |
Thông báo: Mã bưu chính phải có 4 ký tự. Bíp: Có Loại: Thông tin Tiêu đề: Lỗi Mã Bưu chính |
Nếu mã bưu chính không phải là 4 ký tự, hãy hiển thị thông báo. |
Hủy bỏ sự phát hành |
Hủy bỏ sự kiện. |
||
GoToControl |
Control Name: PostalCode |
||
If ([CountryRegion] = "Canada") And ([Mã Bưu chính] Không Thích"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
Hộp Thông báo |
Thông báo: Mã bưu chính không hợp lệ. Ví dụ về mã Canada: H1J 1C3 Bíp: Có Loại: Thông tin Tiêu đề: Lỗi Mã Bưu chính |
Nếu mã bưu chính không chính xác với Canada, hãy hiển thị thông báo. (Ví dụ về mã Canada: H1J 1C3) |
Hủy bỏ sự phát hành |
Hủy bỏ sự kiện. |