Vlastnost OpenArgs

Platí pro:

Objekt Form (Formulář)

Objekt Report (Sestava)

Určuje Řetězcový výraz specifikovaný argumentem OpenArgs metody OtevřítFormulář, pomocí které byl otevřen formulář. Variant pro čtení/zápis.

výraz.OpenArgs

výraz – požadováno. Výraz, který vrací jeden z objektů uvedených v seznamu Platí pro.

Poznámky

Tato vlastnost je k dispozici pouze prostřednictvím Makro nebo kódu Visual Basic for Applications (VBA) s metodou OtevřítFormulář objektu DoCmd. Ve všech zobrazeních je hodnota této vlastnosti pouze pro čtení.

Chcete-li použít vlastnost OpenArgs, otevřete formulář pomocí metody OtevřítFormulář objektu DoCmd a nastavte argument OpenArgs na požadovaný řetězcový výraz. Nastavení vlastnosti OpenArgs může být použito v kódu formuláře, jako například v Obslužná procedura událostiOtevřít. Rovněž lze odkazovat na nastavení vlastnosti v makru, například v makru Otevřít, nebo na výraz, jako je výraz, který nastavuje vlastnost .ZdrojovládacíhoprvkuOvládací prvek ve formuláři.

Předpokládejme například, že formulář, který otevřete, je Nekonečný formulář seznamu klientů. Pokud chcete, aby se při otevření formuláře Fokus přesunul na konkrétní záznam o klientovi, můžete nastavit vlastnost OpenArgs na hodnotu názvu klienta a poté pomocí akce NajítZáznam v makru Otevřít přesunout fokus k záznamu klienta se zadaným názvem.

Příklad

Následující příklad ukazuje použití vlastnosti OpenArgs pro otevření formuláře Zaměstnanci v místě záznamu o konkrétním zaměstnanci a použití metody OtevřítFormulář k nastavení vlastnosti OpenArgs. Tuto proceduru lze spouštět podle potřeby – například při události .Poaktualizaci u vlastního dialogového okna pro zadání nových informací o zaměstnanci.

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

V dalším příkladu je ukázáno, jak pomocí metody FindFirst najít 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
Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

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

×