زائر قام بنشر أغسطس 23, 2023 قام بنشر أغسطس 23, 2023 هل يوجد كود للنموذج ككل عند وجود كلمة معينة في مجموعة حقول .. لا يتم تغيرها؟
تمت الإجابة Moosak قام بنشر أغسطس 24, 2023 تمت الإجابة قام بنشر أغسطس 24, 2023 نعم استخدم هذا الكود في حدث عند التركيز للحقل المطلوب : If InStr(1, Me.TextBoxName, "Word") > 0 Then Me.TextBoxName.Locked = True Else Me.TextBoxName.Locked = False End If
زائر قام بنشر أغسطس 24, 2023 قام بنشر أغسطس 24, 2023 شكرا ولكن الا توجد نفس الطريقة في النموذج ككل لان عدد الحقول كثير.. افضل ان اكتب الكود امام كل حقل؟
Moosak قام بنشر أغسطس 24, 2023 قام بنشر أغسطس 24, 2023 1 ساعه مضت, NoorShams said: الا توجد نفس الطريقة في النموذج ككل لان عدد الحقول كثير.. نعم توجد طريقة سهلة .. وهي تحويل الكود لدالة عامة يمكن استخدامها لأكثر من حقل في نفس الوقت .. وهذه هي صيغة الدالة : Function LockField() If InStr(1, Screen.ActiveControl.Value, "Word") > 0 Then Screen.ActiveControl.Locked = True Else Screen.ActiveControl.Locked = False End If End Function ثم تقوم بتحديد جميع الحقول التي ستطبق عليها الكود .. وتذهب لحدث عند التركيذ وتكتب اسم الدالة هكذا : = LockField() كما في الصورة :
شايب قام بنشر أغسطس 24, 2023 قام بنشر أغسطس 24, 2023 1 ساعه مضت, NoorShams said: الا توجد نفس الطريقة في النموذج ككل لان عدد الحقول كثير.. افضل ان اكتب الكود امام كل حقل؟ جرب في حدث الحالي للنموذج Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = 109 Then If ctl.Value = "الكلمة" Then ctl.Locked = True Else ctl.Locked = False End If End If Next ctl ممكن تعديل السطر الثالث عن طريق استخدام خاصية التاج اذا اردنا استثناء حقول معينة اخونا شايب
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.