Отнася се за
Обект Form |
Обект Report |
Определя низов израз, зададен от аргумента OpenArgs на метода OpenForm , който е отворил формуляр. Variant за четене/запис.
израз.OpenArgs
израз Задължително. Израз, който връща един от обектите в списъка "Отнася се за".
Забележки
Това свойство е налично само когато използвате макрос или код на Visual Basic for Applications (VBA) с метода OpenForm на обекта DoCmd. Тази настройка на свойството е само за четене във всички изгледи.
За да използвате свойството OpenArgs, отворете формуляр с помощта на метода OpenForm на обекта DoCmd и задайте аргумента OpenArgs на желания низов израз. След това настройката на свойството OpenArgs може да се използва в кода за формуляра, например в процедура за събитие Open. Можете също да прегледате настройката на свойство в макрос, например в макроса Open, или в израз, например в израз, който задава свойството ControlSource за контрола във формуляра.
Да предположим например, че формулярът, който отваряте, е списък с клиенти с непрекъснат формуляр. Ако искате фокус да се премести в конкретен запис на клиент, когато формулярът се отвори, можете да зададете свойството OpenArgs на името на клиента и след това да използвате действието FindRecord в макрос Open, за да преместите фокуса върху записа за клиента със зададеното име.
Пример
Следващият пример използва свойството OpenArgs за отваряне на формуляра "Служители" на записа за конкретен служител и показва как методът OpenForm задава свойството OpenArgs. Можете да изпълнявате тази процедура, когато е необходимо, например, когато събитието AfterUpdate се появява за диалогов прозорец по избор, използван за въвеждане на нова информация за служител.
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
Следващият пример използва метода FindFirst за намиране на служителя, чието име е указано в свойството 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