بسم الله الرحمن الرحيم
وضعت الكودين لمربع تحرير وسرد
الكود الأول في حدث ( بعد التحديث )
والكود الثاني في حدث ( عند عدم الوجود في القائمة )
الأكواد موضوع في مربع تحرير وسرد
Private Sub مدن_NotInList(NewData As String, Response As Integer) ' هذا الكود مأخوذ من موقع أبو حمود وهو ديستدعي دالة ' Function من وحدة نمطية خاصة بالنموذج ' وهو يعمل مع مربعات السرد والتحرير ' يقوم بعمل رقم متسلسل للقائمة حسب ترتيب البنود فيه ' حيث يمكنك تحديد بداية رقم المسلسل في الدالة ' فيأخذ كل بند قيمة بدأ من القيمة التي حددتها ' يمكنك إدخال رقم المسلسل لإضافة البند بدلاً من اختياره من القائمة Response = acDataErrContinue مدن = ConvertToStr(مدن, NewData) ' هنا يتم استدعاء الدالة End Sub
Private Function ConvertToStr(MyList As ComboBox, ByVal NewDate2) As String
' هذه الدالة تقوم بإنشاء تسلسل لبنود مربع تحرير وسرد
' وهي توضع في الوحدة النمطية الخاصة بالنموذج
If IsNumeric(NewDate2) Then
If CInt(NewDate2) <= MyList.ListCount Then
ConvertToStr = MyList.ItemData(CInt(NewDate2) - 1) 'الرقم (1) يعني بداية الترقيم لبنود القائمة
SendKeys "{ENTER}", False
Else
MsgBox "هذا الرقم غير موجود في القائمة ." & vbCrLf _
& "اختر أحد البنود من القائمة .", vbMsgBoxRight + vbMsgBoxRtlReading + vbCritical
End If
Else
MsgBox "إما أنك كتبت اسم غير موجود أو وضعت رقم غير صحيح .", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading
End If
End Functionالمشكلة الحاصلة عند استخدام تنفيذ الكود في حدث (عند عدم الوجود في القائمة ) لا يتم تنفيذ الكود في حدث ( بعد التحديث ) فكيف اجعل الحدثين يعملان
أم أن هنالك طريقة أخرى أفضل من المتبع " أرجو الإفادة
وأيضا
هذا الكود يوضع في وحدة خاصة
فكيف أضعها في وحدة عامة
' وما صيغة استدعائها في مربع التحرير والسرد
يمنكنك الاطلاع على المثال المرفق
ولكم تحياتي الخالصة
أخوكم (خالد)