Érvényesség
Form objektum |
Report objektum |
Meghatározza az űrlapot megnyitó OpenForm metódus OpenArgs argumentumában megadott karakterlánc-kifejezést. Olvasható/írható, Variant adattípusú.
kifejezés.OpenArgs
Kifejezés Megadása kötelező. Egy kifejezés, amely a Hatókör listában szereplő objektumok egyikét adja vissza.
Megjegyzések
Ez a tulajdonság csak makró és Visual Basic for Applications (VBA) -kód használatával érhető el a DoCmd objektum OpenForm metódusában. A tulajdonság értéke az összes nézetben csak olvasható.
Az OpenArgs tulajdonság használatához nyisson meg egy űrlapot a DoCmd objektum OpenForm metódusával, és állítsa be az OpenArgs argumentum értékét a kívánt karakterlánc-kifejezésre. Az OpenArgs tulajdonság beállítása később használható lesz az űrlaphoz tartozó programkódban, például az Open eseményvezérelt eljárásban. A tulajdonság értékére makróban (például az Open makróban) vagy kifejezésben (például az űrlap egyik vezérlőjének ControlSource tulajdonságát beállító kifejezésben) is hivatkozhat.
Tegyük fel például, hogy a megnyitott űrlap az ügyfelek listáját megjelenítő folyamatos űrlap. Ha az űrlap megnyitásakor a fókuszt egy adott ügyfél rekordjára szeretné állítani, az OpenArgs tulajdonságot állítsa be az ügyfél nevére, majd az Open makróban a RekordKeresése művelet segítségével vigye a fókuszt a megadott nevű ügyfélre.
Példa
Az alábbi példa az OpenArgs tulajdonság segítségével megnyitja az „Employees” nevű űrlapot egy adott alkalmazotti rekordot megjelenítve, és bemutatja, hogyan lehet az OpenForm metódussal beállítani az OpenArgs tulajdonságot. Ezt az eljárást futtathatja a kívánt módon, például amikor kiváltódik egy új alkalmazotti adatok megadására szolgáló egyéni párbeszédpanel AfterUpdate eseménye.
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
A következő példa a FindFirst metódussal megkeresi az OpenArgs tulajdonság értékében megnevezett alkalmazottat.
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