اذهب الي المحتوي
أوفيسنا

غلق الحقل


زائر
إذهب إلى أفضل إجابة Solved by Moosak,

الردود الموصى بها

  • أفضل إجابة

نعم استخدم هذا الكود في حدث عند التركيز للحقل المطلوب :

If InStr(1, Me.TextBoxName, "Word") > 0 Then
    Me.TextBoxName.Locked = True
Else
  Me.TextBoxName.Locked = False
End If

 

رابط هذا التعليق
شارك

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()

كما في الصورة :

image.png.63da10ff735a437207e00fcf3dea3e17.png
 

 

رابط هذا التعليق
شارك

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.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information