Áp dụng cho
| Đối tượng Form |
|---|
| Đối tượng Report |
Xác định biểu thức chuỗi được xác định bởi tham đối OpenArgs của phương pháp OpenForm đã mở biểu mẫu. Đọc/ghi Biến.
expression.OpenArgs
Expression Yêu cầu. 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ỉ sẵn dùng bằng cách sử dụng macro hoặc bằng cách sử 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 , rồi đặt tham đối OpenArgs thành 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 trong mã cho biểu mẫu, chẳng hạn như trong một thủ tục sự kiện Open. Bạn cũng có thể tham chiếu đến cài đặt thuộc tính trong macro, chẳng hạn như macro Open hoặc 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 bạn muốn tiêu điểm di chuyển đến một bản ghi máy khách cụ thể khi biểu mẫu mở ra, 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 macro Open để di chuyển tiêu điểm đến bản ghi cho máy khách có tên đã 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