Стосується
Об’єкт Form |
Об’єкт Report |
Визначає рядковий вираз, указаний аргументом OpenArgs методу OpenForm відкритої форми. Варіант (читання й записування).
вираз.OpenArgs
expression — обов’язковий аргумент. Вираз, який повертає один з об'єктів у списку "Застосовується до".
Зауваження
Ця властивість доступна лише за допомогою макрос або за допомогою коду 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