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

كود VBA يقوم يقوم بترتيب العناصر في التقرير


إذهب إلى أفضل إجابة Solved by ابوخليل,

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

السلام عليكم ورحمة الله

خبراء المنتدى الكرام

كنت قد شاركت أخ فاضل في المنتدى موضوع عن ترتيب عناصر التقرير بالشكل التالي أولا:مستجد ثانيا: دمج ثالثا: قرار  فقام مشكورا بحل المعضلة عن طريق إضافة حقل محسوب داخل الجدول ليقوم بترتيب العناصر بالشكل الصحيح واسناد الفيم 1-2-3 للعناصر (مستجد - دمج - قرار)  كالتالي:

IIf([الحالة]="مستجد";1;"") & IIf([الحالة]="دمج";2;"") & IIf([الحالة]="قرار";3;"")

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

وشكراً جزيلاً لكم

Untitled 4.jpg

2.rar

تم تعديل بواسطه ahmed draz
رابط هذا التعليق
شارك

7 ساعات مضت, ابوخليل said:

اليك طريقة متبعة غالبا عند تصميم قواعد البيانات

3.rar 55.64 kB · 12 downloads

شيخنا @ابوخليل ليتك تشرح فكرة الملف 🙂🌹

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

السلام عليكم ورحمة الله 

أخي الفاضل (موسى) اسمح لي بشرح الفكرة نيابة عن أخي الخبير (ابو خليل)

كان طلبي هو أن يتم طباعة كلمة (مستجد) و (دمج) و (قرار) بنفس هذا الترتيب ولكن الاكسس يقوم بترتيبهم ابجديا فيقوم بطباعة دمج أولا ثم دمج ثم قرار

وللتحايل على هذا الأمر قام أخي (ابو خليل) بعمل جدول وقام بإسناد رقم ID للكلمات الثلاث بالترتيب

 (مستجد) 1

(دمج) 2

(قرار) 3

ثم قام بعمل استعلام داخل  property sheet  في قسم  Row Source

ليقوم التقرير بعرضهم بالترتيب حسب رقم ID متجاوزا بذلك الترتيب الأبجدي للأكسس

ثم يقوم مربع النص المسمى (الحالة) في التقرير بأخذ النص أو الكلمات (مستجد) و (دمج) و (قرار) بترتيب ID

ثم يقوم التقرير بتكرار الكلمات الثلاث في كل صفحاته لأن مربع النص المسمى (الحالة)

موضوع في (الحالة Hader) وأي نص يوضع في شريط مكتوب عليه (Hader) أو رأس في التقرير سيقوم التقرير بتكراره في كل الصفحات.

كيف يعرف التقرير أين يضع الكلمات (مستجد) و (دمج) و (قرار)؟

يتم ذلك عن طريق من حقل الحالة في الجدول المسمى (الرقمية) حيث يقوم التقرير بعمل مجموعة وفرز عل الجدول ليضع كل حالة أمام الكلمات (مستجد) و (دمج) و (قرار) الخاصة بها.

أرجو أن أكون قد أوضحت قدر الإمكان وشكراً لكم جميعاً.

333.jpg

تم تعديل بواسطه ahmed draz
  • Like 3
رابط هذا التعليق
شارك

السلام عليكم أيها الاخوة الأعزاء

مرحباًبكم في الاستديو التحليلي لطريقة الأخ العبقري الخبير (ابو البشر)

قام أخونا العزيز ( أبو البشر ) بإختيار طريقة عبقرية وسهلة لترتيب الكلمات الثلاث 

 (مستجد) و (دمج) و (قرار) 

وبدلا من أن يستعمل طريقة أخونا (بحار الأكسس) في أول المشاركة

 

واستخدم الحقل الإضافي والشرط في الجدول

 IIf([الحالة]="مستجد";1;"") & IIf([الحالة]="دمج";2;"") & IIf([الحالة]="قرار";3;"")

أو أن يستعمل طريقة أخونا الفاضل (أبو خليل) المشروحة سابقاً

فضل أخونا (أبو البشر) استخدام الشرط نفسه

 IIf([الحالة]="مستجد";1;"") & IIf([الحالة]="دمج";2;"") & IIf([الحالة]="قرار";3;"")

ولكن داخل الاستعلام الخاص بالتقرير أظن أنها فكرة عبقرية و سهلة كثيراً

وأظن أيضا أن لكل طريقه مميزاتها و إلا لما كانت مايكروسوفت وضعتها في الاكسس

ففي طريقتي أخونا (بحار الاكسس) و أخونا (ابو خليل) وهي طريقة الجدول تصلح أذا كان لدينا عدد كبير من الكلمات التي يتم الترتيب من خلالها وليس ثلاث كلمات كما في المثال لدينا.

أما طريقة أخونا (ابو البشر) وهي الشرط داخل استعلام التقرير فهي طريق إحترافية لا تصلح للعدد الكبير من الكلمات التى لن يتسع لها حقل الشرط داخل الاستعلام.  

والله أعلم.

وقال ابن الجوزي رحمه الله: "قوله: ﴿ وَفَوْقَ كُلِّ ذِي عِلْمٍ عَلِيمٌ ﴾

أي: فوق كل ذي علمٍ رفَعه الله بالعلم مَن هو أعلم منه، حتى ينتهي العلم إِلى الله تعالى.

:fff:تحياتي لكل الأخوة الخبراء والأعضاء الكرام في هذا المنتدى العظيم.:fff:

أخوكم أحمد دراز

1222.jpg

123.jpg

 

ؤؤؤي.jpg

4.rar

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

  • 3 weeks later...

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