زياد الحسناوي قام بنشر أغسطس 24, 2024 قام بنشر أغسطس 24, 2024 (معدل) السلام عليكم هل يمكن فلترة النتائج عن طريق قائمة منسدلة يعني عندي قائمة منسدلة وفيها اكثر من 100 حقل لما اكتب اول حرف يظهر لي الاسم ولكني اريدها عند كتابة اي جزء من الاسماء تعمل فلترة حسب الاسم سواء كان في البداية او النصف او النهاية تم تعديل أغسطس 24, 2024 بواسطه زياد الحسناوي
زياد الحسناوي قام بنشر أغسطس 24, 2024 الكاتب قام بنشر أغسطس 24, 2024 بمعنى آخر كيفية عمل قائمة منسدلة يمكن البحث فيها
safaa salem5 قام بنشر أغسطس 24, 2024 قام بنشر أغسطس 24, 2024 في 24/8/2024 at 15:47, زياد الحسناوي said: السلام عليكم هل يمكن فلترة النتائج عن طريق قائمة منسدلة يعني عندي قائمة منسدلة وفيها اكثر من 100 حقل لما اكتب اول حرف يظهر لي الاسم ولكني اريدها عند كتابة اي جزء من الاسماء تعمل فلترة حسب الاسم سواء كان في البداية او النصف او النهاية Expand خطوات تنفيذ فلترة ديناميكية في Microsoft Access: إعداد قاعدة البيانات: تأكد من أن لديك جدول يحتوي على البيانات التي تريد عرضها في القائمة المنسدلة. إنشاء نموذج: افتح قاعدة البيانات في Microsoft Access. انتقل إلى "النماذج" (Forms) وأنشئ نموذجًا جديدًا (أو افتح نموذجًا موجودًا). إضافة مربع نص للبحث: في وضع التصميم للنموذج، أضف مربع نص (Text Box) إلى النموذج. هذا سيكون مربع البحث حيث سيدخل المستخدم النص للفلترة. إضافة قائمة منسدلة: أضف قائمة منسدلة (Combo Box) إلى النموذج. هذه القائمة ستعرض النتائج المفلترة. كتابة استعلام للفلترة: حدد القائمة المنسدلة في وضع التصميم. في خصائص القائمة المنسدلة، ابحث عن خاصية Row Source. انقر على زر ... بجانب Row Source لفتح محرر الاستعلام. اكتب استعلامًا يستخدم معلمة للفلترة. مثلاً: SELECT اسم_الحقل FROM اسم_الجدول WHERE اسم_الحقل LIKE "*" & [Forms]![اسم_النموذج]![اسم_مربع_النص] & "*"; استبدل اسم_الحقل باسم الحقل الذي يحتوي على البيانات، واسم_الجدول باسم الجدول الذي يحتوي على البيانات، واسم_النموذج باسم النموذج، واسم_مربع_النص باسم مربع النص الذي أدخل فيه المستخدم النص للبحث. تحديث القائمة المنسدلة عند إدخال النص: حدد مربع النص في وضع التصميم. في خصائص مربع النص، انتقل إلى حدث After Update (بعد التحديث). أضف كود VBA لعمل إعادة استعلام للقائمة المنسدلة عند تحديث النص. اضغط على ... بجانب After Update لفتح محرر الكود، وأدخل الكود التالي: Private Sub اسم_مربع_النص_AfterUpdate() Me.اسم_قائمة_المندولة.Requery End Sub استبدل اسم_مربع_النص باسم مربع النص الذي أدخل فيه المستخدم النص، واسم_قائمة_المندولة باسم القائمة المنسدلة.
زياد الحسناوي قام بنشر أغسطس 24, 2024 الكاتب قام بنشر أغسطس 24, 2024 شكرا لك ولكني اريد الموضوع يتممن دون مربع نص فقط الكومبوبوكس الخاص بالقائمة المنسدلة
تمت الإجابة ابوخليل قام بنشر أغسطس 24, 2024 تمت الإجابة قام بنشر أغسطس 24, 2024 تفضل اخي زياد وجدت هذا الكود الجميل من ضمن الموجودات لدي .. من عمل اخي الأستاذ @سعيد صواب لاحظ ان عليك تعديل اسماء الحقول ولجدول بما يتناسب معك Private Sub combo0_AfterUpdate() Me.txtname = Me.combo0.Column(0) End Sub Private Sub Combo0_Change() Dim strText, strFind strText = Me.combo0.Text If Len(Trim(strText)) > 0 Then strFind = "txtname Like '" For i = 1 To Len(Trim(strText)) If (Right(strFind, 1) = "*") Then strFind = Left(strFind, Len(strFind) - 1) End If strFind = strFind & "*" & Mid(strText, i, 1) & "*" Next strFind = strFind & "'" strSQL = "SELECT table1.txtname,table1.nnumber FROM table1 Where " & _ strFind & " ORDER BY txtname;" Me.combo0.RowSource = strSQL Else strSQL = "SELECT table1.txtname,table1.nnumber FROM table1 ORDER BY table1.txtname; " Me.combo0.RowSource = strSQL End If Me.combo0.Dropdown End Sub Search_inside_Combo.rarFetching info...
زياد الحسناوي قام بنشر أغسطس 24, 2024 الكاتب قام بنشر أغسطس 24, 2024 في 24/8/2024 at 21:35, ابوخليل said: تفضل اخي زياد وجدت هذا الكود الجميل من ضمن الموجودات لدي .. من عمل اخي الأستاذ @سعيد صواب لاحظ ان عليك تعديل اسماء الحقول ولجدول بما يتناسب معك Private Sub combo0_AfterUpdate() Me.txtname = Me.combo0.Column(0) End Sub Private Sub Combo0_Change() Dim strText, strFind strText = Me.combo0.Text If Len(Trim(strText)) > 0 Then strFind = "txtname Like '" For i = 1 To Len(Trim(strText)) If (Right(strFind, 1) = "*") Then strFind = Left(strFind, Len(strFind) - 1) End If strFind = strFind & "*" & Mid(strText, i, 1) & "*" Next strFind = strFind & "'" strSQL = "SELECT table1.txtname,table1.nnumber FROM table1 Where " & _ strFind & " ORDER BY txtname;" Me.combo0.RowSource = strSQL Else strSQL = "SELECT table1.txtname,table1.nnumber FROM table1 ORDER BY table1.txtname; " Me.combo0.RowSource = strSQL End If Me.combo0.Dropdown End Sub Search_inside_Combo.rar 30.28 kB · 0 downloads Expand وهو المطلوب عاشت ايدك استاذي الفاضل جاري التطبيق على الملف و اخبارك بالنتائج
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.