اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر (معدل)

السلام عليكم

أحاول كتابة كود في النموذج الخاص بي ولكنني لم انجح 

اتمنى منكم المساعدة

Tagفي ال   DocHidTg ما اريد كتابته هو أن ينظر الكود الى جميع الحقول في النموذج والتي تحمل اسم

  ويتاكد اذا قيمتها صفر فيقوم بإخفائها

 علماً أن جميع الحقول من نوع رقم

 

Private Sub DocHid()
Dim ctrl As Control
For Each ctrl In Me.Controls
    If ctrl.Tag = "DocHidTg" And ctrl.Value = "0" Then
            ctrl.Visible = False
    End If
Next
End Sub

 

تم تعديل بواسطه أبو ليمونه
قام بنشر

وعليكم السلام:smile:

 

ظاهرا الكود تمام ، ولكنه لن يعمل إلا في نموذج فردي.

 

54 دقائق مضت, أبو ليمونه said:

علما أن الحقول التي تحمل اسم DocHidTg في Tag جميعها حقول من نوع "رقم"

في هذه الحالة

استبدل السطر
ctrl.Value = "0"

بهذا السطر
ctrl.Value = 0

 

جعفر

قام بنشر (معدل)

اخي جعفر

شكرا لتعقيبك

الكود هو لنموذج فردي ولكن لازال الكود لا يعمل

يضع لي هاي لايت اصفر على هذا السطر

If ctrl.Tag = "DocHidTg" And ctrl.Value = 0 Then

 

تم تعديل بواسطه أبو ليمونه
قام بنشر

جرب هاي

 

Private Sub DocHid()
Dim ctrl As Control
For Each ctrl In Me.Controls
    If ctrl.Tag = "DocHidTg" then

        if ctrl.Value = 0 Then
            ctrl.Visible = False
        else
            ctrl.Visible = true
        End If

    End If
Next
End Sub

.

جعفر

قام بنشر (معدل)

ممتاز اخي جعفر الكود يعمل بجداره

الله يعطيك العافية

راح اكون طماع واتعلم منك اكثر 

لو اردنا تطبيق الكود على نموذج فردي وفرعي

   ويقوم بتعطيلها  Admin2Tg  بحيث يبحث عن جميع التاقات في الفرعي والأساسي التي تحمل اسم 

مثال:

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

Private Sub AdminContral()
Dim ctrl As Control
If (Forms!frm.fsubUser!Admin2.Value) = 1 Then
    Forms!frm.fsub1!KNo.Enabled = True
    Forms!frm.fsub5!KNo.Enabled = True
    Forms!frm.fsub5!KELNm.Enabled = True
    Forms!frm.fsub5!KTyE.Enabled = True
    Forms!frm.fsub5!KEANo.Enabled = True
    Forms!frm.fsub5!KEADt.Enabled = True
    For Each ctrl In Me.Controls
    If ctrl.Tag = "Admin2Tg" Then
        ctrl.Enabled = True
    End If
Next
End Sub

 

تم تعديل بواسطه أبو ليمونه
قام بنشر

 

 

وطريقة اخرى للكود اعلاه

 

Private Sub DocHid()
Dim ctrl As Control
For Each ctrl In Me.Controls
    If ctrl.Tag = "DocHidTg" And ctrl.Value = val("0") Then
            ctrl.Visible = False
    End If
Next
End Sub

.

 

 

اما بالنسبة الى سؤالك الثاني:

هذا الكود يقرا كائنات النموذج الذي يفتح منه فقط ،

يعني اذا فتحت الكود في النموذج الرئيسي (بغض النظر عن اي حدث) ، فسيقرأ كائناته فقط ،

واذا فتحت الكود في النموذج الفرعي (بغض النظر عن اي حدث) ، فسيقرأ كائناته فقط ،

    If ctrl.Tag = "Admin2Tg" Then
        ctrl.Enabled = True
    End If

.

الافضل ان تعرض صورة من شكل النموذج الذي عندك ، والنماذج الفرعيه ، حتى استوعب الموضوع ،

وطبعا اذا ارفقت هذه الجزئية من برنامجك ، يكون افضل:smile:

 

جعفر

  • 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.

×
×
  • اضف...

Important Information