alwasili قام بنشر يونيو 11, 2017 قام بنشر يونيو 11, 2017 السلام عليكم ورحمة الله وبركاته شهركم مبارك وكل عام والجميع بخير . صراحة وجدت مثال رائع للبحث عن السجلات (شاكراً من قام بعمل هذا المثال وداعياً له بالتوفيق) ولكني عجزت في تطبيق ذلك على اعمالي فكرماً من الاعضاء الذين لديهم وقت بمساعدتي في شرح الطريقة حتى يستفيد منها جميع الاعضاء بالمنتدى . طريقة بحث ممتازة.rar
Gamal.Saad قام بنشر يونيو 11, 2017 قام بنشر يونيو 11, 2017 وعليكم السلام ورحمة الله وبركاته 16 minutes ago, alwasili said: صراحة وجدت مثال رائع للبحث عن السجلات فعلا ويعطيك امكانية لاختيار الحقل الذي تريد البحث فيه ويظهر كل شيئ أمامك في النموذج 17 minutes ago, alwasili said: ولكني عجزت في تطبيق ذلك على اعمالي أرفق ملف بسيط لبرنامج لك وسنحاول إن شاء الله التطبيق 19 minutes ago, alwasili said: شرح الطريقة حتى يستفيد منها جميع الاعضاء بالمنتدى . كما ترى الطريقة تتلخص في كود الفلترة التالي Private Sub comb_Search_AfterUpdate() On Error Resume Next Me.Filter = Nz(comb_Search, "id") & " Like ""*" & txt_Search & "*""": Me.FilterOn = True End Sub ''ÑãåÇä ''ÇæÝíÓäÇ Private Sub txt_Search_Change() On Error Resume Next FindAsType = txt_Search.Text Me.Filter = (Nz(comb_Search, "ID")) & " Like ""*" & FindAsType & "*""": Me.FilterOn = True txt_Search.SetFocus txt_Search = FindAsType txt_Search.SelStart = Len(FindAsType) End Sub الجزء الأول من الكود يقوم بالفترة اذا قمت باختيار حقل الفلترة وتستند الفلترة على القيم الموجودة في مربع البحث والجزء الثاني يقوم بالفلترة مع كتابة أي شيئ في مربع البحث لكن هناك خطأ في الكود التالي : Nz(comb_Search, "id") المفترض أنه اذا لم تقم باختيار حقل للبحث فإنه تلقائيا يختار الحقل ID وهو حقل غير موجود في مصدر البيانات مما تظهر معه رسالة خطأ وربما هذا ما يحدث معك عندما تحاول تطبيق المثال لذلك يجب أن تستبدله في مثالك المرفق وفي برامجك باسم الحقل الصحيح شيئ آخر : جرب استبدال الكود كاملاً بهذا الكود التالي وانظر الفرق Option Compare Database Private Sub comb_Search_AfterUpdate() Me.Filter = Nz(comb_Search, "CustomerID") & " Like ""*" & txt_Search & "*""": Me.FilterOn = True End Sub Private Sub txt_Search_Change() Me.Filter = (Nz(comb_Search, "CustomerID")) & " Like ""*" & txt_Search.Text & "*""": Me.FilterOn = True txt_Search.SetFocus txt_Search.SelStart = Len(txt_Search.Text) End Sub وأخيرا : ربما يكون عدم التطبيق في برامجك راجع إلى الفلترة في اللغة العربية حيث أن المثال لا يدعم الحروف المتشابهة مثل الهمزات إلى آخره ولكن طبعا يمكن تطويره سواء للبحث في داخل كل الحقول في نفس الوقت أو في دعم الحروف العربية المتشابهة لأنه مثال رائع وقوته في البساطة والفكرة الجديدة وشكرا جزيلا لمن قام بهذا العمل ولكل أساتذة المنتدى الأكفاء 2
alwasili قام بنشر يونيو 11, 2017 الكاتب قام بنشر يونيو 11, 2017 (معدل) شكراً لك استاذي الفاضل على مجهودك وارفق لك الملف المراد عمل البحث عليه علماً أني حاولت تطبيق وتعديل الكود ولكن لم انجح في ذلك . وتقبل تحياتي مثال .rar تم تعديل يونيو 11, 2017 بواسطه alwasili
Shivan Rekany قام بنشر يونيو 11, 2017 قام بنشر يونيو 11, 2017 الان, alwasili said: شكراً لك استاذي الفاضل على مجهودك وارفق لك الملف المراد عمل البحث عليه علماً أني حاولت تطبيق وتعديل الكود ولكن لم انجح في ذلك . وتقبل تحياتي مثال .rar استأذن من استاذنا @Gamal.Saad واستأذن من استاذي الحبيب @رمهان اتفضل القي نظرتا الى الصورة انا غيرت مصدر كومبوبوكس والكود اصبح Private Sub comb_Search_AfterUpdate() On Error Resume Next Me.Filter = "[" & (Nz(comb_Search, "رقم المستفيد")) & "]" & " Like ""*" & FindAsType & "*""": Me.FilterOn = True End Sub Private Sub txt_Search_Change() On Error Resume Next FindAsType = txt_Search.Text Me.Filter = "[" & (Nz(comb_Search, "رقم المستفيد")) & "]" & " Like ""*" & FindAsType & "*""": Me.FilterOn = True txt_Search.SetFocus txt_Search = FindAsType txt_Search.SelStart = Len(FindAsType) End Sub واليك المرفق بعد تعديل مثال .rar 3
أ / محمد صالح قام بنشر يونيو 11, 2017 قام بنشر يونيو 11, 2017 2 ساعات مضت, alwasili said: شكراً لك استاذي الفاضل على مجهودك وارفق لك الملف المراد عمل البحث عليه علماً أني حاولت تطبيق وتعديل الكود ولكن لم انجح في ذلك . وتقبل تحياتي مثال .rar بعد إذن الأستاذ جمال أخي الكريم يرجع الخطأ لاستعمال أسماء الحقول باللغة العربية وتصحيح هذا الخطأ هو ما يلي Private Sub comb_Search_AfterUpdate() On Error Resume Next Me.Filter = "[" & Nz(comb_Search, "رقم المستفيد") & "] Like ""*" & txt_Search & "*""": Me.FilterOn = True Me.txt_Search.SetFocus End Sub Private Sub txt_Search_Change() On Error Resume Next FindAsType = txt_Search.Text Me.Filter = "[" & (Nz(comb_Search, "رقم المستفيد")) & "] Like ""*" & FindAsType & "*""": Me.FilterOn = True txt_Search.SetFocus txt_Search = FindAsType txt_Search.SelStart = Len(FindAsType) End Sub لاحظ الأقواس قبل وبعد اسم الحقل * يبدو أنه أثناء إعدادي للرد سبقني بها أخي شيفان تقبل منا منكم صالح الأعمال 2
alwasili قام بنشر يونيو 11, 2017 الكاتب قام بنشر يونيو 11, 2017 شكراً لكم جميعاً أبها الخوة والاحباب على مساعدتكم لي سائلاً الله لكم التوفيق دائماً وابدا . أخوكم : يحيى الواصلي
alwasili قام بنشر يونيو 12, 2017 الكاتب قام بنشر يونيو 12, 2017 سؤال أخير إن كنت كثرت عليكم الأسئلة هل بالامكان طباعة تقرير ناتج عن الفلترة في المثال السابق .
أ / محمد صالح قام بنشر يونيو 12, 2017 قام بنشر يونيو 12, 2017 5 ساعات مضت, alwasili said: سؤال أخير إن كنت كثرت عليكم الأسئلة هل بالامكان طباعة تقرير ناتج عن الفلترة في المثال السابق . أكيد بالإمكان يلزمك أولا أن تقوم بتسمية الجدول والنموذج باللغة الانجليزية ولو كتابة النطق مثل alesm والحقول الموجودة بهما أيضا ثم تنشئ التقرير الذي تريده ويبقى لك كود الفتح مع الفلترة
alwasili قام بنشر يونيو 12, 2017 الكاتب قام بنشر يونيو 12, 2017 10 ساعات مضت, أ / محمد صالح said: أكيد بالإمكان يلزمك أولا أن تقوم بتسمية الجدول والنموذج باللغة الانجليزية ولو كتابة النطق مثل alesm والحقول الموجودة بهما أيضا ثم تنشئ التقرير الذي تريده ويبقى لك كود الفتح مع الفلترة عملت كل المطلوب باقي الكود الخاص بالفتح والفلترة مثال .rar
رمهان قام بنشر يونيو 12, 2017 قام بنشر يونيو 12, 2017 (معدل) عزيزي هذا الكود للمطلوب وعند النقر المزدوج على عنصر البحث Private Sub txt_Search_DblClick(Cancel As Integer) DoCmd.OpenReport "report", acViewPreview, , Me.Filter End Sub ولكن اسمحولي براي هنا ادارة المنتدى تسعى جاهدة لتقليل المواضع المكرره خصوصا في فترات متقاربة . هنا العتب اكثر على الاساتذة حيث هم اولى بالاشارة الى الموضوع وخصوصا لو اصبح في فتره متقاربة جدا فهنا نفس الموضوع بالتمام تحياتي تم تعديل يونيو 12, 2017 بواسطه رمهان 3
أ / محمد صالح قام بنشر يونيو 12, 2017 قام بنشر يونيو 12, 2017 9 ساعات مضت, alwasili said: عملت كل المطلوب باقي الكود الخاص بالفتح والفلترة مثال .rar بارك الله لك أرجو أن يكون الهدف قد تحقق وهو أن استعمال أسماء الحقول والجداول بالانجليزية يسهل كتابة الكود وجمل الاستعلام sql وغيرها الكثير لقد نشأنا على هذا وأرجو الله أن ينفع به جميعنا فقط تمت إضافة زر أمر لفتح التقرير في وضع المعاينة للطباعة بفلترة مثل فلترة النموذج أي باستعمال نفس الفلتر كما أشار الأستاذ رمهان مشكورا وكنت أرجو أن تصل إليها بنفسك مثال 3.rar
alwasili قام بنشر يونيو 12, 2017 الكاتب قام بنشر يونيو 12, 2017 7 ساعات مضت, أ / محمد صالح said: بارك الله لك أرجو أن يكون الهدف قد تحقق وهو أن استعمال أسماء الحقول والجداول بالانجليزية يسهل كتابة الكود وجمل الاستعلام sql وغيرها الكثير لقد نشأنا على هذا وأرجو الله أن ينفع به جميعنا فقط تمت إضافة زر أمر لفتح التقرير في وضع المعاينة للطباعة بفلترة مثل فلترة النموذج أي باستعمال نفس الفلتر كما أشار الأستاذ رمهان مشكورا وكنت أرجو أن تصل إليها بنفسك مثال 3.rar عفواً استاذنا القدير/ محمد صالح معاينة التقرير تظهر كافة البيانات في الجدول وليس المفلتر وأنا حاولت كثيراً ولكنني جديد على التعامل مع الأكواد .
alwasili قام بنشر يونيو 12, 2017 الكاتب قام بنشر يونيو 12, 2017 3 ساعات مضت, رمهان said: عزيزي هذا الكود للمطلوب وعند النقر المزدوج على عنصر البحث Private Sub txt_Search_DblClick(Cancel As Integer) DoCmd.OpenReport "report", acViewPreview, , Me.Filter End Sub ولكن اسمحولي براي هنا ادارة المنتدى تسعى جاهدة لتقليل المواضع المكرره خصوصا في فترات متقاربة . هنا العتب اكثر على الاساتذة حيث هم اولى بالاشارة الى الموضوع وخصوصا لو اصبح في فتره متقاربة جدا فهنا نفس الموضوع بالتمام تحياتي الف شكر أستاذنا الحبيب رمهان ظبط معي الكود جزاكم الله جميعاً خيراً ونفع بكم في هذا الشهر الكريم وسائر حياتكم .
أ / محمد صالح قام بنشر يونيو 13, 2017 قام بنشر يونيو 13, 2017 5 ساعات مضت, alwasili said: عفواً استاذنا القدير/ محمد صالح معاينة التقرير تظهر كافة البيانات في الجدول وليس المفلتر وأنا حاولت كثيراً ولكنني جديد على التعامل مع الأكواد . 4 ساعات مضت, alwasili said: الف شكر أستاذنا الحبيب رمهان ظبط معي الكود جزاكم الله جميعاً خيراً ونفع بكم في هذا الشهر الكريم وسائر حياتكم . يا ريت تذكر لنا كيف لم يعمل معك كود فتح التقرير بنفس فلتر النموذج في الملف المرفق بمشاركتي وكيف عمل معك نفس الكود في حدث عند النقر المزدوج على مربع نص البحث المشار إليه في مشاركة أستاذ رمهان ؟؟!! الكود المستخدم في الحالتين هو Private Sub reprt_Click() DoCmd.OpenReport "report", acViewPreview, , Me.Filter End Sub و Private Sub txt_Search_DblClick(Cancel As Integer) DoCmd.OpenReport "report", acViewPreview, , Me.Filter End Sub لاحظ السطر الثاني DoCmd.OpenReport "report", acViewPreview, , Me.Filter
Shivan Rekany قام بنشر يونيو 13, 2017 قام بنشر يونيو 13, 2017 الان, alwasili said: معاينة التقرير تظهر كافة البيانات في الجدول وليس المفلتر انا نزلت المرفقك الان, أ / محمد صالح said: يا ريت تذكر لنا كيف لم يعمل معك كود فتح التقرير بنفس فلتر النموذج في الملف المرفق بمشاركتي وكيف عمل معك نفس الكود في حدث عند النقر المزدوج على مربع نص البحث المشار إليه في مشاركة أستاذ رمهان ؟؟!! الكود المستخدم في الحالتين هو كان بيعمل جيدا وهذا هو صورة منه شكرا لك ولاستاذنا رمهان 1
alwasili قام بنشر يونيو 14, 2017 الكاتب قام بنشر يونيو 14, 2017 في ١٣/٦/٢٠١٧ at 06:27, أ / محمد صالح said: يا ريت تذكر لنا كيف لم يعمل معك كود فتح التقرير بنفس فلتر النموذج في الملف المرفق بمشاركتي وكيف عمل معك نفس الكود في حدث عند النقر المزدوج على مربع نص البحث المشار إليه في مشاركة أستاذ رمهان ؟؟!! الكود المستخدم في الحالتين هو Private Sub reprt_Click() DoCmd.OpenReport "report", acViewPreview, , Me.Filter End Sub و Private Sub txt_Search_DblClick(Cancel As Integer) DoCmd.OpenReport "report", acViewPreview, , Me.Filter End Sub لاحظ السطر الثاني DoCmd.OpenReport "report", acViewPreview, , Me.Filter شكراً استاذنا محمد صالح لكل ما تقدمه وانت اكثر شخص ساعدني في الحلول ولا اقصد انقاصاك شي لأنك من النخبة في البرمجة . تحياتي
أ / محمد صالح قام بنشر يونيو 14, 2017 قام بنشر يونيو 14, 2017 الصورة أسفل الكود مختلفة عما أرسلته وعما كتبه أخي وصديقي رمهان هدانا الله وإياكم لما فيه الخير ما يهمني هو أنك وصلت لما تريد فقط يلزمك زيادة فاصلة قبل الفلتر ليكون الكود في الصورة صحيحا لأن في الفاصلة الأولى اسم الفلتر إن كان له اسم وفي الفاصلة الثانية شروط الفلتر إن لم يكن له اسم وفقك الله لكل خير
أفضل إجابة أ / محمد صالح قام بنشر يونيو 14, 2017 أفضل إجابة قام بنشر يونيو 14, 2017 وهذا تطوير للمثال بحيث يكون أكثر احترافية بحيث يقوم بالبحث ولا يمسح محتويات مربع البحث إذا تم تغيير الحقل وتفادي وقوع الأخطاء وعدم استعمال on error resume next وتحديد القيمة الافتراضية لقائمة الحقول بحث في جميع حقول النموذج.rar
alwasili قام بنشر يونيو 15, 2017 الكاتب قام بنشر يونيو 15, 2017 شكراً أخي الكريم أ. محمد صالح بفضلكم بعد الله نتعلم ونتطور ونصبح مبرمجين محترفين
عبد الله قدور قام بنشر يونيو 22, 2017 قام بنشر يونيو 22, 2017 السلام عليكم اخواني الكرام اريد حل مشكلة بسيطة ايضا في نفس المجال وهي اني استخدم في نموذج البحث نموذج فرعي لعرض البيانات وتم تطبيق الكود ويعمل بنجاح لكن المشكلة عندي الان اني في التقرير الذي سيتم طباعته استخدم ايضا نموذج فرعي وهو نفس النموذج الفرعي الموجود في نمووذج البحث ولكن لا يظهر التقرير مفلتر فما الحل ؟ تحياتي للجميع
أ / محمد صالح قام بنشر يونيو 22, 2017 قام بنشر يونيو 22, 2017 كل عام أنتم بخير أخي الكريم عبد الله قدور في هذه الحالة لن يتم فتح التقرير وفي نهايته الأمر me.filter وإنما ستحتاج مثلا forms!subformname.filter لأن الفلترة تتم على النموذج الفرعي مع مراعاة استبدال subformname باسم النموذج الفرعي لديك
أبو امين قام بنشر مايو 13, 2022 قام بنشر مايو 13, 2022 مشاء الله شكرا للاستاذ على النموذج الجيد و السريع و البسيط جعله الله في ميزان حسناتك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.