Uygulandığı öğe
Form Nesnesi |
Rapor Nesnesi |
Formu açan OpenForm yönteminin OpenArgs bağımsız değişkeni tarafından belirtilen dize ifadesi öğesini belirler. Okuma/yazma Değişken.
ifade.OpenArgs
ifade Gerekli. Uygulandığı Öğe listesindeki nesnelerden birini döndüren ifade.
Notlar
Bu özelliğin kullanılabilmesi için, makro kullanılması veya DoCmd nesnesinin OpenForm yöntemiyle Visual Basic for Applications (VBA) kodu kullanılması gerekir. Bu özellik ayarı tüm görünümlerde salt okunurdur.
OpenArgs özelliğini kullanmak için, DoCmd nesnesinin OpenForm yöntemiyle bir form açın ve OpenArgs bağımsız değişkeninde dilediğiniz dize ifadesini ayarlayın. OpenArgs özelliği ayarı bundan sonra formun kodunda, örneğin bir Aç olay yordamısu içinde kullanılabilir. Aç makrosu gibi bir makronun içindeki özellik ayarına veya formda denetim için ControlSource özelliğini ayarlayan bir ifadeye de başvurabilirsiniz.
Örneğin, açtığınız formun bir müşteri sürekli form listesi olduğunu varsayalım. Form açıldığında odak belirli bir müşteri kaydına taşınsın istiyorsanız, OpenArgs özelliğinde müşterinin adını ayarlayabilir ve ardından Aç makrosunda FindRecord eylemini kullanarak odağı belli bir ada sahip müşterinin kaydına taşıyabilirsiniz.
Örnek
Aşağıdaki örnekte, OpenArgs özelliği kullanılarak Çalışanlar formu belirli bir çalışan kaydında açılır ve OpenForm yönteminin OpenArgs özelliğini nasıl ayarladığı gösterilir. Bu yordamı uygun olduğunda, örneğin çalışan hakkındaki yeni bilgileri girmek için kullanılan özel bir iletişim kutusunda AfterUpdate olayı oluştuğunda çalıştırabilirsiniz.
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
Sonraki örnekte, OpenArgs özelliğinde adı belirtilen çalışanı bulmak için FindFirst yöntemi kullanılır.
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