Platí pro
Objekt Form |
Objekt Report |
Určuje Řetězcový výraz určena openargs argumentu OpenForm metoda, která otevřela formulář. Typ Variant (Neurčený typ) pro čtení/zápis.
výraz.OpenArgs
Výraz Povinný argument. Výraz, který vrátí jeden z objektů v seznamu Platí pro.
Poznámky
Tato vlastnost je k dispozici pouze pomocí Makro nebo pomocí kódu jazyka VBA (Visual Basic for Applications) s metodou OpenForm objektu DoCmd . Nastavení této vlastnosti je ve všech zobrazeních jen pro čtení.
Pokud chcete použít Vlastnost OpenArgs , otevřete formulář pomocí metody OpenForm objektu DoCmd a nastavte argument OpenArgs na požadovaný řetězcový výraz. Nastavení vlastnosti OpenArgs pak lze použít v kódu formuláře, například v open Obslužná procedura události. Můžete také odkazovat na nastavení vlastnosti v makrech, jako je například makro Otevřít, nebo výraz, například výraz, který nastavuje vlastnost Zdroj ovládacího prvku pro Ovládací prvek ve formuláři.
Předpokládejme například, že formulář, který otevřete, je seznam klientů s průběžným formulářem. Pokud chcete, aby se Fokus při otevření formuláře přesunula na konkrétní záznam klienta, můžete nastavit vlastnost OpenArgs na název klienta a pak pomocí akce NajítZáznam v makru Otevřít přesunout fokus na záznam klienta se zadaným názvem.
Příklad
Následující příklad používá vlastnost OpenArgs k otevření formuláře zaměstnanců na konkrétním záznamu zaměstnance a ukazuje, jak metoda OpenForm nastaví vlastnost OpenArgs. Tuto proceduru můžete spustit podle potřeby – například, když u vlastního dialogového okna používaného k zadávání nových informací o zaměstnanci dojde k události 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
Další příklad používá metodu FindFirst k vyhledání zaměstnance uvedeného ve vlastnosti 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