زياد الحسناوي قام بنشر أغسطس 24 قام بنشر أغسطس 24 (معدل) السلام عليكم هل يمكن فلترة النتائج عن طريق قائمة منسدلة يعني عندي قائمة منسدلة وفيها اكثر من 100 حقل لما اكتب اول حرف يظهر لي الاسم ولكني اريدها عند كتابة اي جزء من الاسماء تعمل فلترة حسب الاسم سواء كان في البداية او النصف او النهاية تم تعديل أغسطس 24 بواسطه زياد الحسناوي
زياد الحسناوي قام بنشر أغسطس 24 الكاتب قام بنشر أغسطس 24 بمعنى آخر كيفية عمل قائمة منسدلة يمكن البحث فيها
safaa salem5 قام بنشر أغسطس 24 قام بنشر أغسطس 24 2 hours ago, زياد الحسناوي said: السلام عليكم هل يمكن فلترة النتائج عن طريق قائمة منسدلة يعني عندي قائمة منسدلة وفيها اكثر من 100 حقل لما اكتب اول حرف يظهر لي الاسم ولكني اريدها عند كتابة اي جزء من الاسماء تعمل فلترة حسب الاسم سواء كان في البداية او النصف او النهاية خطوات تنفيذ فلترة ديناميكية في 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 الكاتب قام بنشر أغسطس 24 شكرا لك ولكني اريد الموضوع يتممن دون مربع نص فقط الكومبوبوكس الخاص بالقائمة المنسدلة
أفضل إجابة ابوخليل قام بنشر أغسطس 24 أفضل إجابة قام بنشر أغسطس 24 تفضل اخي زياد وجدت هذا الكود الجميل من ضمن الموجودات لدي .. من عمل اخي الأستاذ @سعيد صواب لاحظ ان عليك تعديل اسماء الحقول ولجدول بما يتناسب معك 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
زياد الحسناوي قام بنشر أغسطس 24 الكاتب قام بنشر أغسطس 24 7 دقائق مضت, ابوخليل 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 وهو المطلوب عاشت ايدك استاذي الفاضل جاري التطبيق على الملف و اخبارك بالنتائج
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.