زائر قام بنشر أغسطس 23, 2023 مشاركة قام بنشر أغسطس 23, 2023 هل يوجد كود للنموذج ككل عند وجود كلمة معينة في مجموعة حقول .. لا يتم تغيرها؟ رابط هذا التعليق شارك More sharing options...
أفضل إجابة Moosak قام بنشر أغسطس 24, 2023 أفضل إجابة مشاركة قام بنشر أغسطس 24, 2023 نعم استخدم هذا الكود في حدث عند التركيز للحقل المطلوب : If InStr(1, Me.TextBoxName, "Word") > 0 Then Me.TextBoxName.Locked = True Else Me.TextBoxName.Locked = False End If رابط هذا التعليق شارك More sharing options...
زائر قام بنشر أغسطس 24, 2023 مشاركة قام بنشر أغسطس 24, 2023 شكرا ولكن الا توجد نفس الطريقة في النموذج ككل لان عدد الحقول كثير.. افضل ان اكتب الكود امام كل حقل؟ رابط هذا التعليق شارك More sharing options...
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() كما في الصورة : رابط هذا التعليق شارك More sharing options...
شايب قام بنشر أغسطس 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 ممكن تعديل السطر الثالث عن طريق استخدام خاصية التاج اذا اردنا استثناء حقول معينة اخونا شايب رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.