Отнася се за
Обект 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