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

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

قام بنشر

السلام عليكم ورحمة الله

لدي نموذج باسم EERT به عدة حقول كثيرة اريد للمستخدم عند فتحه لذلك النموذج لا يستطيع التعديل فى اي حقل من تلك الحقول ماعدا ثلاث حقول وهما

 

حقل باسم   INFU

وحقل باسم MUR

وحقل باسم POL

 

ولكن بشرط اذا كان قيمة حقل باسم MAN نصه كالتالى  "HTM"

 

بمعنى ان المستخدم ليس له صلاحية التعديل على حقول النموذج EERT الا فى ثلاث حقول فقط وهى المذكوره اعلاه وايضا اذا تحقق الشرط السابق

 

وجزاكم الله خيرا

  • أفضل إجابة
قام بنشر
3 ساعات مضت, Abdelaziz Osman said:

السلام عليكم ورحمة الله

لدي نموذج باسم EERT به عدة حقول كثيرة اريد للمستخدم عند فتحه لذلك النموذج لا يستطيع التعديل فى اي حقل من تلك الحقول ماعدا ثلاث حقول وهما

 

حقل باسم   INFU

وحقل باسم MUR

وحقل باسم POL

 

ولكن بشرط اذا كان قيمة حقل باسم MAN نصه كالتالى  "HTM"

 

بمعنى ان المستخدم ليس له صلاحية التعديل على حقول النموذج EERT الا فى ثلاث حقول فقط وهى المذكوره اعلاه وايضا اذا تحقق الشرط السابق

 

وجزاكم الله خيرا

جرب كده

Private Sub Form_Current()
    Dim ctl As Control

    ' التحقق من قيمة الحقل MAN
    If Me.MAN = "HTM" Then
        ' اجعل جميع الحقول غير قابلة للتحرير
        For Each ctl In Me.Controls
            If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
                ctl.Locked = True
            End If
        Next ctl

        ' السماح بتعديل الحقول الثلاثة فقط
        Me.INFU.Locked = False
        Me.MUR.Locked = False
        Me.POL.Locked = False
    Else
        ' إذا لم يتحقق الشرط، اجعل جميع الحقول غير قابلة للتعديل
        For Each ctl In Me.Controls
            If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
                ctl.Locked = True
            End If
        Next ctl
    End If
End Sub

 

  • Like 1
قام بنشر

اشكرك كثيرا @ناقل  

بس سؤال بالنسبة للسطر 

image.png.10aa4dc7f815733dbdf124e4f71015d6.png

هل سيتم التفعيل على كل انواع الحقول ام الحقول النصية فقط   لانه يوجد ايضا حقول اختيار نعم و لا √ و ×  

ولك جزيل الشكر

قام بنشر

في الكود الحالي، يتم فقط تأمين الحقول النصية (TextBox) وحقول القوائم المنسدلة (ComboBox). إذا كنت تريد تضمين أنواع أخرى من الحقول، مثل حقول الاختيار (CheckBox) أو التواريخ (Date Picker) أو أي نوع آخر، يمكن تعديل الكود لتغطية جميع الأنواع المطلوبة.

قام بنشر
6 دقائق مضت, ناقل said:

في الكود الحالي، يتم فقط تأمين الحقول النصية (TextBox) وحقول القوائم المنسدلة (ComboBox). إذا كنت تريد تضمين أنواع أخرى من الحقول، مثل حقول الاختيار (CheckBox) أو التواريخ (Date Picker) أو أي نوع آخر، يمكن تعديل الكود لتغطية جميع الأنواع المطلوبة.

تمام سيدى لكن ماهو الكود الذى يشمل جميع الحقول

قام بنشر
10 دقائق مضت, Abdelaziz Osman said:

تمام سيدى لكن ماهو الكود الذى يشمل جميع الحقول

تفضل 

Private Sub Form_Current()
    Dim ctl As Control

    ' التحقق من قيمة الحقل MAN
    If Me.MAN = "HTM" Then
        ' اجعل جميع الحقول غير قابلة للتعديل
        For Each ctl In Me.Controls
            Select Case ctl.ControlType
                Case acTextBox, acComboBox, acCheckBox, acOptionGroup, acListBox, acSubform
                    ctl.Locked = True
            End Select
        Next ctl

        ' السماح بتعديل الحقول الثلاثة فقط
        Me.INFU.Locked = False
        Me.MUR.Locked = False
        Me.POL.Locked = False
    Else
        ' إذا لم يتحقق الشرط، اغلق جميع الحقول
        For Each ctl In Me.Controls
            Select Case ctl.ControlType
                Case acTextBox, acComboBox, acCheckBox, acOptionGroup, acListBox, acSubform
                    ctl.Locked = True
            End Select
        Next ctl
    End If
End Sub

 

أنواع الحقول المشمولة:

  • acTextBox: الحقول النصية.
  • acComboBox: القوائم المنسدلة.
  • acCheckBox: حقول الاختيار (Checkbox).
  • acOptionGroup: مجموعات الخيارات.
  • acListBox: القوائم المتعددة.
  • acSubform: النماذج الفرعية.
قام بنشر (معدل)
53 دقائق مضت, ناقل said:

تفضل 

Private Sub Form_Current()
    Dim ctl As Control

    ' التحقق من قيمة الحقل MAN
    If Me.MAN = "HTM" Then
        ' اجعل جميع الحقول غير قابلة للتعديل
        For Each ctl In Me.Controls
            Select Case ctl.ControlType
                Case acTextBox, acComboBox, acCheckBox, acOptionGroup, acListBox, acSubform
                    ctl.Locked = True
            End Select
        Next ctl

        ' السماح بتعديل الحقول الثلاثة فقط
        Me.INFU.Locked = False
        Me.MUR.Locked = False
        Me.POL.Locked = False
    Else
        ' إذا لم يتحقق الشرط، اغلق جميع الحقول
        For Each ctl In Me.Controls
            Select Case ctl.ControlType
                Case acTextBox, acComboBox, acCheckBox, acOptionGroup, acListBox, acSubform
                    ctl.Locked = True
            End Select
        Next ctl
    End If
End Sub

 

أنواع الحقول المشمولة:

  • acTextBox: الحقول النصية.
  • acComboBox: القوائم المنسدلة.
  • acCheckBox: حقول الاختيار (Checkbox).
  • acOptionGroup: مجموعات الخيارات.
  • acListBox: القوائم المتعددة.
  • acSubform: النماذج الفرعية.

يعنى لا يوجد كود شامل

وفى هذة الحالة اكتب سطر الكود هكذا

If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acCheckBox Then

تم تعديل بواسطه Abdelaziz Osman
قام بنشر
منذ ساعه, Abdelaziz Osman said:

يعنى لا يوجد كود شامل

في حالة الكود العام ... يتم إغلاق كل عنصر موجود في النموذج مثلا ازرة وغيرها .... فلذلك خصص ما تريد إغلاقه فقط افضل

  • Like 1

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