Velja za
Predmet Form |
Predmet poročila |
Določa vrednost izraz niza z argumentom OpenArgs metode OpenForm , ki je odprla obrazec. Različica za branje/pisanje.
izraz.OpenArgs
izraz Obvezen. Izraz, ki vrne enega od predmetov s seznama »Velja za«.
Opombe
Ta lastnost je na voljo le, če uporabite makro ali kodo Visual Basic for Applications (VBA) z načinom OpenForm predmeta DoCmd. Ta nastavitev lastnosti je v vseh pogledih samo za branje.
Če želite uporabiti lastnost OpenArgs , odprite obrazec z metodo OpenForm predmeta DoCmd in nastavite argument OpenArgs na želeni izraz niza. Nastavitev lastnosti OpenArgs lahko nato uporabite v kodi za obrazec, na primer v pogovornem oknu dogodkovna procedura. Sklicujete se lahko tudi na nastavitev lastnosti v makru, kot je makro Odpri, ali izraz, na primer izraz, ki nastavi lastnost ControlSource za kontrolnik v obrazcu.
Recimo, da je obrazec, ki ste ga odprli, neprekinjen sezam obrazcev strank. Če želite, da se fokus premakne na določen zapis stranke, ko se odpre obrazec, lahko lastnost OpenArgs nastavite na ime stranke, nato pa uporabite dejanje FindRecord v makru »Odpri«, da premaknete fokus na zapis stranke z določenim imenom.
Primer
V tem primeru je uporabljena lastnost OpenArgs za odpiranje obrazca »Zaposleni« za določen zapis zaposlenega in prikazuje, kako način OpenForm nastavi lastnost OpenArgs. Ta postopek lahko zaženete, kot je primerno – na primer takrat, ko pride do dogodka AfterUpdate za pogovorno okno po meri, s katerim vnašate nove informacije o zaposlenemu.
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 naslednjem primeru je uporabljen način FindFirst za iskanje zaposlenega z imenom, navedenim v lastnosti 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