Svojstvo OpenArgs

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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