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

السماح بالتحرير فى الحقول الفارغة فقط


m_orouk

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

الاخوة الاعزاء

فى المرفق استخدمت كود لاغلاف الحقول التى تحتوى على بيانات و السماح بالتحرير فى الحقول الفارغة فقط

ولكنه يعطى النتيجة المرجوة فى بعض السجلات و لا يعطى فى الاخرى

لا ادرى ما السبب

ارجو تصحيح الكود ان كان به خطأ و ان كان هناك حل افضل ارجو توضيحه

شكرا مقدما

last.rar

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

مرحباً بك اخي m_orouk بين اخوانك

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

اليك الكود التالي :

Dim cntl As Control
    For Each cntl In Me.Controls
        If cntl.ControlType = acTextBox Then
            If IsNull(cntl) Then
                cntl.Enabled = True
            Else
                cntl.Enabled = flase
            End If
        End If
    Next

تفضل المرفق بعد التعديل

بالتوفيق ومرحباً بك مرة اخرى

last.rar

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

أخى الكريم m_orouk

أشكرك للحل ... لقد جربتها مراراً وعرفت الآن ماهو خطأى .. لقد كنت أعكس الكود .. ففى المكان الذى يجب أن أضع True كنت أضع False والعكس.

لك التحية على الرد

تحياتى

محمد ندا

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

ونظراً لأننى عند التطبيق وجدت أن عندى بالنماذج كثيراً من الـ Combo Box فقد قمت بالتعديل البسيط لتشمل العملية كائنات الكومبو أيضاً بالنموذج.

بالمرفق

تحياتى

محمد ندا

last_Lock_ComboToo.rar

تم تعديل بواسطه Mohamed Nada
رابط هذا التعليق
شارك

ممكن كمان اختصار الكود ب

Private Sub Form_Current()
    Dim cntl As Control
    For Each cntl In Me.Controls
        If cntl.ControlType = acTextBox Or cntl.ControlType = acComboBox Then
             cntl.Locked = Not IsNull(cntl)
        End If
Next
End Sub

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

دمتم يا الكرام

ما شاء الله عليكم جميعاً ... اللهم زد لكم فى علمكم ورفع قدركم ... ونحتسب أن نكون معكم إن شاء الله.

تحياتى وتقديرى

محمد ندا

تم تعديل بواسطه Mohamed Nada
رابط هذا التعليق
شارك

وخطرت لى فكرة لزيادة الفائدة من الأداة اللطيفة دى:

والفكرة بسطية وهى إضافة بسيطة فى الكود تمكن واحد فقط من المستخدمين وغالباً يكون المشرف بالتعديل لمجرد الخدول باسمة كالتالى:

Private Sub Form_Current()
    Dim cntl As Control
    For Each cntl In Me.Controls
        If cntl.ControlType = acTextBox and User <> "YourGoodUse" Or cntl.ControlType = acComboBox and User <> "YourGoodUse" Then
             cntl.Locked = Not IsNull(cntl)
        End If
Next
End Sub

حيث User هو اسم مربع النص الذى يحتوى على اسم المستخدم الذى ترغب فى السماح له بالتعديل.

وحيث YourGoodUser هو الإسم الفعلى للمستخدم الذى ترغب فى السماح له بالتعديل.

حيث أنه ليس من المعقول أن تغلق الدنيا على المستخدمين وعلى نفسك كمان ... :cool::wink2:

تحياتى

محمد ندا

تم تعديل بواسطه Mohamed Nada
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information