Vlastnost OpenArgs

Platí pro

Objekt Form

Objekt Report

Určuje řetězcový výraz specifikovaný argumentem OpenArgs metody OpenForm, která formulář otevřela. Typ Variant pro čtení/zápis.

výraz.OpenArgs

Výraz je povinný. Musí to být výraz, který vrací jeden z objektů v seznamu Platí pro.

Poznámky

Tato vlastnost je k dispozici pouze prostřednictvím použití makra nebo kódu jazyka VBA (Visual Basic for Applications) s metodou OpenForm objektu DoCmd. Toto nastavení vlastnosti je ve všech zobrazeních pouze 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 je pak možné použít v kódu pro formulář, například v otevřené obslužné proceduře události. Na nastavení vlastnosti můžete také odkazovat v makru, například v makru Open, nebo ve výrazu, například ve výrazu, který nastavuje vlastnost ControlSource pro ovládací prvek ve formuláři.

Předpokládejme například, že otevíraný formulář je nekonečný formulář se seznamem klientů. Pokud chcete při otevření formuláře přesunout fokus na konkrétní záznam klienta, můžete nastavit vlastnost OpenArgs na jméno tohoto klienta a pak použít akci NajítZáznam v makru Open k přesunutí fokusu na záznam klienta se zadaným jménem.

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
Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×