ينطبق على
عنصر 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