Властивість OpenArgs

Стосується:

Об’єкт Form

Об’єкт Report

Визначає рядковий вираз, указаний аргументом OpenArgs методу OpenForm відкритої форми. Варіант (читання й записування).

вираз.OpenArgs

вираз – обов’язковий аргумент. Вираз, що повертає один з об’єктів зі списку "Стосується".

Зауваження

Ця властивість доступна лише в разі використання макросу або коду Visual Basic for Applications (VBA) для методу OpenForm об’єкта DoCmd. Значення цієї властивості доступне лише для читання в усіх поданнях.

Щоб установити властивість OpenArgs, відкрийте форму з використанням методу OpenForm об’єкта DoCmd і встановіть для аргументу OpenArgs потрібний рядковий вираз. Потім значення властивості OpenArgs можна використовувати в коді для форми, наприклад "Відкрити процедуру обробки події". Крім того, ви можете додати посилання на значення властивості в макросі, наприклад Open, або виразі, як-от виразі, що встановлює властивість ControlSource для елемента керування у формі.

Наприклад, припустімо, що відкрита форма – це неперервна форма-список клієнтів. Щоб переміщати фокус до певного запису клієнта під час відкриття форми, можете задати для властивості OpenArgs ім’я клієнта, а потім виконати дію Знайтизапис у макросі Open, щоб перемістити фокус до запису клієнта з указаним іменем.

Приклад

Нижче наведено зразок властивості OpenArgs, що відкриває форму "Працівники" на записі певного працівника й демонструє спосіб установлення методом OpenForm значення властивості OpenArgs. Цю процедуру можна виконувати, наприклад, коли настає подія Після оновлення для користувацького діалогового вікна, призначеного для введення нових відомостей про працівника.

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, з яким ми вас можемо з’єднати.

×