Odnosi se na
| Objekt Form |
|---|
| Objekt Report |
Određuje izraz niza naveden argumentom OpenArgs metode OpenForm koja je otvorila obrazac. To je svojstvo vrste Variant za čitanje/pisanje.
izraz.OpenArgs
izraz Obavezno. Izraz koji vraća jedan od objekata na popisu Primjenjuje se na.
Napomene
To je svojstvo dostupno samo pomoću makronaredbe ili koda programa Visual Basic for Applications (VBA) uz metodu OpenForm objekta DoCmd . Ta je postavka svojstva samo za čitanje u svim prikazima.
Da biste koristili svojstvo OpenArgs , otvorite obrazac pomoću metode OpenForm objekta DoCmd i postavite argument OpenArgs na željeni izraz niza. Postavka svojstva OpenArgs zatim se može koristiti u kodu za obrazac, primjerice u proceduri događaja Open. Možete se i pozvati na postavku svojstva u makronaredbi, npr. u makronaredbi Open, ili u izrazu, kao što je izraz koji postavlja svojstvo ControlSource za kontrolu na obrascu.
Pretpostavimo da je obrazac koji otvarate, primjerice, kontinuirani popis klijenata. Ako želite da se fokus premjesti na zapis određenog klijenta kada se obrazac otvori, postavite svojstvo OpenArgs na ime klijenta, a zatim pomoću akcije FindRecord u makronaredbi Open premjestite fokus na zapis za klijenta s navedenim imenom.
Primjer
U sljedećem se primjeru pomoću svojstva OpenArgs otvara obrazac Zaposlenici sa zapisom određenog zaposlenika i pokazuje kako metoda OpenForm postavlja svojstvo OpenArgs . Tu proceduru možete po potrebi pokrenuti – na primjer, kada dođe do događaja AfterUpdate za prilagođeni dijaloški okvir za unos novih podataka o zaposleniku.
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
U sljedećem se primjeru pomoću metode FindFirst pronalazi zaposlenik čije je ime navedeno u svojstvu 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