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

فلترة النموذج الفرعي واستخراج تقرير حسب الفلترة


adnan gharbi

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

السلام عليكم

الأخوة الكرام

في المرفق مثال فيه فورم رئيسي مع فورم فرعي وكومبو بوكس لتصفية الفورم الفرعي 

     لعمل التالي (vba) المطلوب استخدام الأكواد 

 أولا: عند تشغيل الفورم الرئيسي تظهر جميع النتائج في الفورم الفرعي وليس كما يظهر الان فارغا قبل التصفية

ثانيا: استخراج التقرير بالصيغ الثلاثة الموضحة في الأزرار وحسب التصفية يعني عند عدم التصفية تتم الطباعة أو استخراج التقرير بصيغة الاكسل والبي دي اف لجميع النتائج وعند التصفية تتم الطباعة واستخراج التقارير  حسب عامل التصفية من القائمة المنسدلة بشرط أن يتم ذلك كله عن طريق الأكواد 

مع الشكر والتقدير والامتنان للجميع  

Database3.accdb

رابط هذا التعليق
شارك

الاستاذ الفاضل / @adnan gharbi 

الطلبات كلها بسيطة ان شاء الله

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

انظر الى الاستعلام بداخل الفرعى  تم اضافة فى حالة ان يكون مربع التحرير فارغا  اضافة عبارة (is null)

ونظرا لضيق الوقت في المرفق تحقيق الطلب الاول ولعل احد الاخوان يقوم بالباقى والا سوف اشارك معك بالباقى

بالتوفيق ان شاء الله

Database3.accdb

  • Like 1
رابط هذا التعليق
شارك

Database3 (1).accdbاخى / عدنان

اليك ما وعدتك به 

انظر الى المرفق يوجد زر به جميع التحويلات بمختلف الامتداد pdf - exel-word

الزر الاول يخرج لك حسب الاختيار من مربع التحرير والفلترة

يارب يكون طلبك وبالتوفيق ان شاء اللهDatabase3 (1).accdb

Database3 (1).accdb

تم تعديل بواسطه الحلبي
  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

4 ساعات مضت, حلبي said:

اليك ما وعدتك به 

انظر الى المرفق يوجد زر به جميع التحويلات بمختلف الامتداد pdf - exel-word

الزر الاول يخرج لك حسب الاختيار من مربع التحرير والفلترة

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

  • Like 1
رابط هذا التعليق
شارك

5 hours ago, حلبي said:

Database3 (1).accdbاخى / عدنان

اليك ما وعدتك به 

انظر الى المرفق يوجد زر به جميع التحويلات بمختلف الامتداد pdf - exel-word

الزر الاول يخرج لك حسب الاختيار من مربع التحرير والفلترة

يارب يكون طلبك وبالتوفيق ان شاء اللهDatabase3 (1).accdb

Database3 (1).accdb 480 kB · 9 downloads

اخي الكريم جزاك الله خيرا على كرم اخلاقك واهتمامك بالموضوع

 نعم هذا بالضبط ما اردته باستثناء أنني كذلك أريد أن أطبع التقرير أو أحفظه بكامل النتائج في حال عدم التصفية 

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

أتمنى أنني لا أشق عليك بكثرة الطلبات 

مع فائق الشكر والامتنان من حضرتك 

رابط هذا التعليق
شارك

12 hours ago, kha9009lid said:

بعد اذن اخي دكتور محمد حلبي

جرب المرفق

Database3 (1).accdb 492 kB · 5 downloads

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

هل ينطبق نفس الكلام على حفظ التقرير بصيغة أكسل و بي دي اف ؟

 

رابط هذا التعليق
شارك

12 hours ago, kha9009lid said:

بعد اذن اخي دكتور محمد حلبي

جرب المرفق

Database3 (1).accdb 492 kB · 6 downloads

 

استاذي الفاضل قبل ان تجيبني على سؤالي السابق: هل ينطبق نفس الكلام على حفظ التقرير بصيغة أكسل و بي دي اف ؟

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

مثلا عند عدم التصفية يكون الاسم "تقرير بجميع الموظفين" وعند التصفية يكون الاسم حسب شرط التصفية مثلا "جميع الموظفين في قسم اللغة العربية" في حال كان الاختيار

Arabic من القائمة المنسدلة

مع الشكر الجزيل لحضرتك وللدكتور محمد الحلبي

رابط هذا التعليق
شارك

جزاك الله خيرا / استاذي ومعلمى / @kha9009lid

اكرمك الله وزادك اخلاقا فأنت قمة الاخلاق لكى تسأذن من احد تلاميذك

اذا حضر الماء بطل التيمم

استاذ / عدنان 

الله يكرمك لعلك تكون وصلت الى مبتغاك

تم تعديل بواسطه الحلبي
  • Like 2
رابط هذا التعليق
شارك

1 hour ago, حلبي said:

جزاك الله خيرا / استاذي ومعلمى / @kha9009lid

اكرمك الله وزادك اخلاقا فأنت قمة الاخلاق لكى تسأذن من احد تلاميذك

اذا حضر الماء بطل التيمم

استاذ / عدنان 

الله يكرمك لعلك تكون وصلت الى مبتغاك

استاذي الكريم الحقيقة الأسئلة كثيرة لكن أحاول أن أفهم الأمور عن طريق طرح بعض الأسئلة في محاولة لفهم الموضوع والموضوع بالتحديد هو استخدام الأكواد في تصميم قواعد البيانات وكل ما يرتبط به من عمليات الفرز والفلترة وحفظ التقارير....الخ لكن في نفس الوقت لا أريد أن أشق عليكم بالإكثار من الأسئلة

مع تحياتي للجميع  

رابط هذا التعليق
شارك

الاستاذ الفاضل / @ adnan gharbi

دعنى اهمس فى اذنك : المنتدى هنا ملئ بالخبرات الكثيرة وكلهم لم يتأخروا في مساعدتك ومساعدة الاخرين وكل الاخوان

اي سؤال لك او اى موضوع اطرحه بهدوء بشرط ان يكون فى شكل مثال مبسط  والمطلوب يكون واضح ولا يكون اكثر من سؤال حتى يتسنى لهم وحسب اوقاتهم الاجابة

جرب وشوف ان شاء سوف تتعلم هنا كل شئ

كل التوفيق والنجاح

  • Like 2
رابط هذا التعليق
شارك

9 ساعات مضت, adnan gharbi said:

مثلا عند عدم التصفية يكون الاسم "تقرير بجميع الموظفين" وعند التصفية يكون الاسم حسب شرط التصفية مثلا "جميع الموظفين في قسم اللغة العربية" في حال كان الاختيار

Arabic من القائمة المنسدلة

نعم ممكن

في الملف المرفق عملنا مربع نص مخفي اسميتة tx8 وجعلنا قيمته الافتراضية تساوي اسم التقرير

="rptEmploee"

وفي حدث عند التحديث للقائمة الخاصة بالفلترة اضفنا الامر التالي

Me.tx8 = Me.comUnits.Column(1)

في حدث عند النقر لزر حفظ بي دي اف اضفنا الامر

Dim x As String
x = Me.tx8
DoCmd.OutputTo acOutputReport, "rptEmploee", acFormatPDF, CurrentProject.Path & "\" & x & ".PDF", False

وفي حدث لزر الامر الخاص بالاكسل اضفنا الامر

Dim x As String
x = Me.tx8 & ".xlsx"
DoCmd.OutputTo acOutputReport, "rptEmploee", acFormatXLS, CurrentProject.Path & "\" & x, False

الملفات تحفظ في نفس المجلد الخاص بقاعدة البيانات

التصدير لاكسل قد يتطلب الدخول على محرر الاكواد والتاشير كما هو موضح في الصورة

 

1.PNG

Database3 (2).accdb

  • Like 1
رابط هذا التعليق
شارك

1 hour ago, kha9009lid said:

نعم ممكن

في الملف المرفق عملنا مربع نص مخفي اسميتة tx8 وجعلنا قيمته الافتراضية تساوي اسم التقرير


="rptEmploee"

وفي حدث عند التحديث للقائمة الخاصة بالفلترة اضفنا الامر التالي


Me.tx8 = Me.comUnits.Column(1)

في حدث عند النقر لزر حفظ بي دي اف اضفنا الامر


Dim x As String
x = Me.tx8
DoCmd.OutputTo acOutputReport, "rptEmploee", acFormatPDF, CurrentProject.Path & "\" & x & ".PDF", False

وفي حدث لزر الامر الخاص بالاكسل اضفنا الامر


Dim x As String
x = Me.tx8 & ".xlsx"
DoCmd.OutputTo acOutputReport, "rptEmploee", acFormatXLS, CurrentProject.Path & "\" & x, False

الملفات تحفظ في نفس المجلد الخاص بقاعدة البيانات

التصدير لاكسل قد يتطلب الدخول على محرر الاكواد والتاشير كما هو موضح في الصورة

 

1.PNG

Database3 (2).accdb 768 kB · 1 download

جزاك الله خير استاذي العزيز على الشرح الوافي 

بس في ملاحظة بخصوص طريقة حضرتك في تصفية وفلترة النموذج الفرعي وحفظ أو طباعة التقرير حسب التصفية وهي على فر 

تم تعديل بواسطه adnan gharbi
اضافة معلومات
رابط هذا التعليق
شارك

على فرض زيادة عدد الوحدات عن الموجود حاليا وهي ثلاث وحدات فلو وصل العدد الى 15 مثلا وحضرتك مخلي شرط التصفية على رقم الوحدة فهنا سيحصل خلل في التصفية

فهل من حل للمشكلة أو ايجاد معيار افضل للتصفية

رابط هذا التعليق
شارك

7 دقائق مضت, adnan gharbi said:

على فرض زيادة عدد الوحدات عن الموجود حاليا وهي ثلاث وحدات فلو وصل العدد الى 15 مثلا وحضرتك مخلي شرط التصفية على رقم الوحدة فهنا سيحصل خلل في التصفية

فهل من حل للمشكلة أو ايجاد معيار افضل للتصفية

هل جربت اضافة وحدات ?

رابط هذا التعليق
شارك

اضفت وحدات جديدة ولم اواجه اي مشكله

ايضا غيرت صيغة ملف اكسيل لان الكود السابق احيانا يرفض الفتح

جرب الملف المرفق علما بان الفلترة لا علاقة لها بعدد الوحدات  3 او 100 او 1000

Database3 (2).accdb

تم تعديل بواسطه kha9009lid
  • Like 2
رابط هذا التعليق
شارك

الفلترة بناء استعلام بمعيار مبني على القائمة المنسدلة comUnits

وهذة القائمة تستمد قيمتها من خلال استعلام مبني على الجدول tblUnits

فلو كان الجدول يحتوي على 3 وحدات تكون خيارات الفلترة لثلاث وحدات ولو كان الجدول يحتوي على 1000 وحدة تكون خيارات الفلترة 1000 وهكذا

تحياتي

 

  • Like 2
رابط هذا التعليق
شارك

استاذي الفاضل kha9009lid

ما قصدته هو زيادة عدد الوحدات الى 12 وحدة مثلا ثم توزيع الموظفين الموجودين على الوحدات ثم اختر من القائمة المنسدلة الوحدة رقم 1 والتي هي الكمبيوتر ستجد ان النتائج غير منطقية وشملت وحدات اخرى فيها الرقم 1 ايضا مثل 11 و  12

يمكنك التأكد من الملف المرفق نفسه وقد اضفت اليه وحدات جديدة وأسندت اليها قسم من الموظفين

مع خالص امتناني وتقديري 

Database3 (2).accdb

رابط هذا التعليق
شارك

1 hour ago, kha9009lid said:

اعتذر منك اخي فعلا كان هناك مشكلة مع الارقام المتشابهه حزئيا

جرب الان واخبرني

 

aa.accdb 524 kB · 5 downloads

استاذي العزيز شكرا لردودك وتعبك معي هي على هذه الحالة ضبطت لكن ماذا لو أضفت وحدة جديدة تحمل اسم قريب على اسم وحدة موجودة ضمن القائمة؟

Computers مثلا 

Computer وهي قريبة على كلمة

هنا ستحدث نفس المشكلة

أتمنى أنك ستصل الى الحل المناسب ان شاء الله

تحياتي لك اخي الكريم

 

رابط هذا التعليق
شارك

لو حرف امتناع لامنتناع ويستخدم كذلك كحرف مصدري بمعنى ان وكذلك للتمني وايضا للتقليل وللنفي ويستخدم  للدعاء وللحض والامر وللتعميم والدلالة على المستقبل

على العموم جرب المرفق لعله ينهي لو 😉:fff:

 

 

aa.accdb

  • Like 1
رابط هذا التعليق
شارك

9 hours ago, kha9009lid said:

لو حرف امتناع لامنتناع ويستخدم كذلك كحرف مصدري بمعنى ان وكذلك للتمني وايضا للتقليل وللنفي ويستخدم  للدعاء وللحض والامر وللتعميم والدلالة على المستقبل

على العموم جرب المرفق لعله ينهي لو 😉:fff:

 

 

aa.accdb 508 kB · 7 downloads

السلام عليكم

استاذي الفاضل حضرتك تعلم أن من الشروط المهمة في تصميم قواعد البيانات هو توقع الأخطاء ووضع الحلول المناسبة لها مقدما لذلك لا بد من استعمال كلمة لو كثيرا

الآن جرب حضرتك الملف وشوف النتيجة أنا فقط أضفت وحدة جديدة تحمل التسلسل 15 بإسم 

yyy

وشوف كيف اصبحت النتائج غير منطقية ولذلك لا بد من وجود طريقة أكثر تعقيدا وتأخذ بنظر الاعتبار كل (( لو )) محتملة

مع تحياتي لحضرتك 

 

aa (1).accdb

رابط هذا التعليق
شارك

وعليكم السلام اخي الفاضل

بخصوص لو هي اعادتني لاربعة عقود اثناء دراستي الجامعية حيث كان من متطلبات التخرج تقديم بحث لاستاذ اللغة و كان نصيبي لو

نعم اتفق معك فيما اشرت اليه من توقع الاخطاء

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

 

 

aa (1).accdb

تم تعديل بواسطه kha9009lid
  • Like 1
رابط هذا التعليق
شارك

استاذي ومعلمى الفاضل / @kha9009lid

انا متابع معكم كى استفيد

جميل جدا هذا الحل استاذى 

الله يكرمك ويزيدك علما 

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

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information