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

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

قام بنشر

السلام عليكم

احبتي

اريد عند اختياري من القائمة فردي1 او فردي 2 ان يختفي البند : زوجي

والعكس صحيح

عند اختياري من القائمة زوجي   ان يختفي البندين : فردي1 و فردي 2

اريد الحل بأقصر الطرق .. ان امكن عدم الاستعانة بالجدول tbl_mjal_User  

image.jpeg.485b2e939651944b66f6901fa294e7d8.jpeg

 

Database2.rar

قام بنشر

مش عارف الحل ده ممكن واللا لا

انا اساسا مش عارف اذا كنت اساسا فهمت المطلوب :biggrin:

 


Private Sub mjal_AfterUpdate()
    Dim strSQL As String
    
    ' تحديد مصدر السرد بناء على الاختيار
    Select Case Me.mjal.Column(1)
        Case "فردي1", "فردي2"
            ' إخفاء "زوجي"
            strSQL = "SELECT ac_id, ac_Name FROM tbl_Mjal WHERE ac_Name NOT IN ('زوجي')"
        Case "زوجي"
            ' إخفاء "فردي1" و"فردي2"
            strSQL = "SELECT ac_id, ac_Name FROM tbl_Mjal WHERE ac_Name NOT IN ('فردي1', 'فردي2')"
        Case Else
            ' إظهار جميع الخيارات
            strSQL = "SELECT ac_id, ac_Name FROM tbl_Mjal"
    End Select
    
    ' تحديث مصدر مربع السرد
    Me.mjal.RowSource = strSQL
    Me.mjal.Requery
End Sub

Private Sub Form_Load()
    ' تعيين مصدر السرد الافتراضي عند تحميل النموذج
    Me.mjal.RowSource = "SELECT ac_id, ac_Name FROM tbl_Mjal"
    Me.mjal.Requery
End Sub



المرفق

Database2.accdb

  • Like 1
قام بنشر
1 ساعه مضت, ابوخليل said:

اريد الحل بأقصر الطرق .. ان امكن عدم الاستعانة بالجدول tbl_mjal_User  

جرب مع تغيير نوع مصدر الصف الى قائمة وتعديل مسمي الكمبو لديك

Private Sub cmb_mjal_Enter()
    Dim currentValue As String
    currentValue = Nz(Me.cmb_mjal.Value, "")
    
    Select Case currentValue
        Case "فردي1", "فردي2"
            Me.cmb_mjal.RowSource = "فردي1;فردي2;شامل1;شامل2"
        Case "زوجي"
            Me.cmb_mjal.RowSource = "زوجي;شامل1;شامل2"
        Case Else
            ' لو لم يتم اختيار شيء بعد، يظهر الكل
            Me.cmb_mjal.RowSource = "فردي1;فردي2;زوجي;شامل1;شامل2"
    End Select
End Sub

 

قام بنشر

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

العملية في كلا الكودين غير منضبطة .. رغم ان الاستاذ ناقل طبق الفكرة 100%

المشكلة تبقى في الحدث وتوقيته .. هل بعد التحديث ام قبله .. ام هل عند الادخال او عند التركيز ؟..

فمن هنا يظهر الخلل .. ولا يستقيم

لذا نهجت طريقة محكمة .. خارج احداث مربع التحرير

1- انشأت فريم (مربع خيارات متعددة) يحتوي على خيارين وقيمتين 1 ، 2

القيمة 1 تعني جميع البنود ما عدا الزوجي

القيمة 2 تعني جميع البنود ما عدا  فردي1 وفردي 2

وفي حدث بعد التحديث للفريم  ادرجت كود ابي جودي .. لأنه افضل للمطور

Private Sub Form_Load()
Me.mjal.RowSource = "SELECT ac_id, ac_Name FROM tbl_Mjal WHERE ac_id  IN (1,2,4,5)"
Me.mjal.Requery
End Sub

Private Sub Frame1_AfterUpdate()
Dim strSQL As String
  If Frame1 = 1 Then
  strSQL = "SELECT ac_id, ac_Name FROM tbl_Mjal WHERE ac_id  IN (1,2,4,5)"
  Else
  strSQL = "SELECT ac_id, ac_Name FROM tbl_Mjal WHERE ac_id  IN (3,4,5)"
   End If
    Me.mjal.RowSource = strSQL
    Me.mjal.Requery
End Sub

الف شكر لكما احبتي الكرام

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