الأخ الكريم ماجدجلال
رمضان مبارك
لتحويل التركيز من النموذج الحالي إلى نموذج آخر يفترض أنه محمل (مفتوح) اتبع الخطوات التالية :
1- تأكد من أن النموذج المراد نقل التركيز إليه محمل بالفعل
2- اجعل نقل التركيز نتيجة لحدث ما بالنموذج الحالي
ولإنجاز ذلك , سنفترض أن لدينا نموذجان a و b وأن b هو النموذج الحالي
سنضع على النموذج b زر الأمر Commande0 , وفي حدث عند النقر تكتب الكود التالي :
Private Sub Commande0_Click()
Dim msg
If EstChargé("a") = True Then
msg = MsgBox("النموذج محمل , وسيتم نقل التركيز إليه ", vbDefaultButton1, "تحويل التركيز ")
Forms!a.SetFocus
Else
msg = MsgBox(" يتعذر نقل التركيز لأن النموذج غير محمل , هل تريد تحميله الآن ", vbYesNo, "تحويل التركيز ")
If msg = 6 Then
Load Forms![a]
Else
Exit Sub
End If
End If
End Sub
و الكود أعلاه في سطره الأول يتحقق من تحميل النموذج المراد نقل التركيز إليه , وعلى النتيجة يبني خياراته .
ولذلك سنجتاج إلى الدالة (الوظيفة) "EstChargé"
انقل كود هذه (الوظيفة) إلى وحدة نمطية مستقة
Function EstChargé(MonFormulaire)
Const FORM_DESIGN = 0
Dim I As Integer
EstChargé = False
For I = 0 To Forms.Count - 1
If Forms(I).FormName = MonFormulaire Then
If Forms(I).CurrentView <> FORM_DESIGN Then
EstChargé = True
Exit Function
End If
End If
Next
End Function
مبوك أنهيت عملك , الله الموفق