ينطبق على
عنصر Form |
عنصر Report |
تحديد تعبير السلسلة المحدد بواسطة الوسيطة OpenArgs للأسلوب OpenForm الذي فتح أحد النماذج. المتغير مقروء/مكتوب.
expression.OpenArgs
التعبير Required. هو تعبير يقوم بإرجاع أحد العناصر الموجودة في القائمة "ينطبق على".
الملاحظات
تتوفر هذه الخاصية فقط باستخدام الماكرو أو باستخدام التعليمة البرمجية لـ Visual Basic for Applications مع الأسلوب OpenForm للعنصر DoCmd. يتم تخصيص إعداد هذه الخاصية للقراءة فقط في كل طرق العرض.
لاستخدام الخاصية OpenArgs، افتح نموذجاً باستخدام الأسلوب OpenForm للعنصر DoCmd وعيّن الوسيطة OpenArgs إلى تعبير السلسلة المطلوب. يمكن حينئذٍ استخدام إعداد الخاصية OpenArgs في التعليمة البرمجية للنموذج، كما هو الحال في إجراء الحدث مفتوح. كما يمكنك الإشارة إلى إعداد الخاصية في ماكرو مثل ماكرو مفتوح أو تعبير مثل تعبير يقوم بتعيين الخاصية ControlSource لـ عنصر تحكم في النموذج.
على سبيل المثال، افترض أن النموذج الذي تفتحه هو قائمة نماذج مستمرة تحتوي على العملاء. إذا أردت نقل تركيز إلى سجل عميل معين عند فتح النموذج، يمكنك تعيين الخاصية OpenArgs إلى اسم العميل ثم استخدام الإجراء FindRecord في ماكرو مفتوح لنقل التركيز إلى سجل العميل بالاسم المحدد.
مثال
يستخدم المثال التالي الخاصية OpenArgs لفتح نموذج "الموظفين" لسجل موظف معين ويوضح طريقة تعيين الأسلوب OpenForm للخاصية OpenArgs. يمكنك تشغيل هذا الإجراء كلما كان ذلك مناسباً — على سبيل المثال، عند وقوع الحدث AfterUpdate لمربع حوار مخصص تم استخدامه لإدخال معلومات جديدة حول أحد الموظفين.
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
يستخدم المثال التالي الأسلوب FindFirst لتحديد موقع الموظف الوارد اسمه في الخاصية 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