Свойство OpenArgs

Отнася се за

Обект 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
Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×