Áp dụng cho
Đối tượng Form |
Đối tượng Report |
Xác định biểu thức chuỗi được chỉ định bởi tham đối OpenArgs của phương pháp mở biểu mẫu OpenForm. Đọc/ghi Biến.
expression.OpenArgs
biểu thức Bắt buộc. Một biểu thức trả về một trong các đối tượng trong danh sách Áp dụng Cho.
Ghi chú
Thuộc tính này chỉ khả dụng khi sử dụng macro hoặc sử dụng mã Visual Basic for Applications (VBA) với phương pháp OpenForm của đối tượng DoCmd. Cài đặt thuộc tính này thành chỉ đọc trong mọi dạng xem.
Để sử dụng thuộc tính OpenArgs, hãy mở biểu mẫu bằng cách sử dụng phương pháp OpenForm của đối tượng DoCmd và đặt tham đối OpenArgs cho biểu thức chuỗi mong muốn. Sau đó, bạn có thể sử dụng cài đặt thuộc tính OpenArgs này trong mã cho biểu mẫu, chẳng hạn như trong Open thủ tục sự kiện. Bạn cũng có thể tham khảo cài đặt thuộc tính trong macro, chẳng hạn như macro Open hoặc một biểu thức, chẳng hạn như biểu thức đặt thuộc tính ControlSource cho điều khiển trên biểu mẫu.
Ví dụ: giả sử biểu mẫu bạn mở là một danh sách khách hàng với biểu mẫu liên tục. Nếu muốn tiêu điểm di chuyển đến một bản ghi khách hàng cụ thể khi biểu mẫu mở, bạn có thể đặt thuộc tính OpenArgs cho tên khách hàng, rồi sử dụng hành động FindRecord trong một macro Open để di chuyển tiêu điểm đến bản ghi của khách hàng có tên được xác định.
Ví dụ
Ví dụ sau sẽ sử dụng thuộc tính OpenArgs để mở biểu mẫu Nhân_viên ứng với một bản ghi nhân viên cụ thể và minh họa cách phương pháp OpenForm đặt thuộc tính OpenArgs. Bạn có thể chạy quy trình khi thích hợp — ví dụ: khi sự kiện AfterUpdate diễn ra đối với hộp thoại tùy chỉnh dùng để nhập thông tin mới về nhân viên.
Sub OpenToCallahan()
DoCmd.OpenForm "Employees", acNormal, , , _ acReadOnly, , "Callahan" End Sub Sub Form_Open(Cancel As Integer) Dim strEmployeeName As String ' If OpenArgs property contains employee name, find ' corresponding employee record and display it on ' form. For example,if the OpenArgs property ' contains "Callahan", move to first "Callahan" ' record. strEmployeeName = Forms!Employees.OpenArgs If Len(strEmployeeName) > 0 Then DoCmd.GoToControl "LastName" DoCmd.FindRecord strEmployeeName, , True, , _ True, , True End If End Sub
Ví dụ tiếp theo sẽ sử dụng phương pháp FindFirst để định vị nhân viên có tên trong thuộc tính OpenArgs.
Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then Dim strEmployeeName As String strEmployeeName = Me.OpenArgs Dim RS As DAO.Recordset Set RS = Me.RecordsetClone RS.FindFirst "LastName = '" & _ strEmployeeName & "'" If Not RS.NoMatch Then Me.Bookmark = RS.Bookmark End If End If End Sub