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