الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تجميع المخزون

مغلق
بدأه ashehry2000 في 15 مايو 2005 · 12 رد · 1,396 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني

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

برنامج خيري لأستلام التبرعات وتوزيعها على المحتاجين

عملت كل شيئ ولكن المشكلة مطلوب تقرير شامل بمجموع المستلم من التبرعات ومجموع ما تم توزيعة وما هوباقي في المستودع

عجزت القى حل

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

ساعدوني يرحمكم الله

عبدالله

تبرع.zip

#2

أخواني الخبراء فين انتم

هل يمكن إيجاد المخزون عن طريق استعلام مباشرة أو يتم عن طريق عمل جدول خاص بالمخزون

أفيدونا أفادكم الله

عبدالله الشهري

#3

الأستاذ عبد الله الشهري :

أسباب الخلل:

1 - أحد أصناف التبرع يختلف عن أصناف المساعدات ( في جدول التبرع " نقداً " ، في جدول المساعدات " نقود " ) لذلك عندما تقوم بعمل استعلام لطرح المساعدات من التبرعات ، تجد أن أكسس يهمل حساب أحدهما ( حسب نوع العلاقة داخل الاستعلام ) لأنه يعجز عن ربطه بالصنف المقابل .

** لمعالجة هذه المشكلة بسهولة ، اجعل الحقول المشتركة بين الجدولين بهيئة قائمة منسدلة مصدرها دائماً جدول التبرعات لأنه هو الأساس ( لن تقدم مساعدات غير موجودة أصلاً في التبرعات ، أليس كذلك ؟ ) و بذلك عندما تقوم بإحداث أي تغيير في التبرعات سينعكس تلقائياً في المساعدات .

2 – إذا حاولت عمل الاستعلام الثالث بدون ربط للاستعلامين ، ستظهر نتائج غير متوقعة ، الاستعلامين الذين أنشأتهما صحيحين ، والاستعلام الثالث NetTotal يستخدمهما ليحقق لك ما تريد ، ولكن لاحظ العلاقة بينهما في خصائص الربط ( يشمل كافة السجلات من " التبرعات " و تلك السجلات فقط من "المساعدات " . . . ) و هي العلاقة المنطقية ، فأنت تحول التبرعات إلى مساعدات ( كما سبق شرحه ).

؟ – كيف يمكن للمساعدات أن تكون أكثر من التبرعات ؟! فالنتائج تظهر سالبة ، أعتقد أن الملف تجريبي فقط.

* نعم قاعدة البيانات يمكن تطويرها و إدخال بعض التعديلات عليها ، و لكن ليس لديّ أدنى شكّ في أنك قادر على ذلك بكل كفاءة .

* نصراوي ؟

في الملف المرفق :

قاعدة البيانات المرسلة بعد التعديل Charity

Charity.zip

#4

أخي صلاح

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

تحية إعجاب وتقدير لردك والذي كان شافياً ووافياً إلى أبعد حد......

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

نعم العملية بقت زي الفل وعال العال..

ألف شكر

أخوك عبدالله الشهري

#5

أكرمتني و الله ، و بالغت بإكرامي يا أستاذ عبد الله ، و لم أكن أستحق ذلك كله ، و إن كان أحد يستحق الشكر و الثناء فهو أنت .

#6

أخي صالح السلام عليكم ورحمة الله وبركاته وبعد

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

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

أخوك عبدالله الشهري

#7

أحسنت .

هذه الإشكالية تحدث في حالة ترك حقل الفئة ( ريال / كيس ) فارغاً ، فيقوم أكسس باستحداث سجل مستقل في الاستعلام ( لأن الفئة = لا شيء Null ) و هي برأيه فئة جديدة و مستقلة .

الحالة الأخرى تحدث عندما تكون القيم مغايرة ، مثلاً ( الصنف = قمح و الفئة = ريال ) و هذا يخلق تعارض في تصنيف انتماء السجل، فيصعب على أكسس التعرف إلى أي من سجلات الاستعلام ينبغي أن يضاف .

الحل السريع : أن لا تترك الحقول التالية فارغة أو مغايرة ( الفئة ، الصنف ، الكمية )

الحل الجذري : ان تقوم بعمل ماكرو يراجع قيم هذه الحقول و يدخل قيم مترابطة (إن أمكن) فإذا كان الصنف = نقود ، إذاً الفئة = ريال ، إذا كان الصنف <> نقود إذاً الفئة = كيس .

هذا بناء على فرضية أن الأصناف والفئات على هذه الدرجة من المحدودية ، أمّا إذا كانت قابلة للزيادة أو التغير حينها يستحسن جعلها في جدول خاص بها ، و لا ضرورة لبناء علاقة مع بقية الجداول .

إن تعذّر عليك التنفيذ ، سأوافيك بالمطلوب غداً إن شاء الله ، فهناك عدة وسائل لضمان دقة البيانات المدخلة ، سأحاول اختيار أبسطها و أكثرها ثباتاً ثم أتبنّاها.

تقبل الله منا و منك .

#8

أخي صلاح

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

شكراً جزيلاً على التجاوب وفقك الله.

ما قلته كله فهمته وهو صحيح 100% وأشكر لك حسن المعاملة وسأحاول تطبيقة وموافاتك بالنتيجة.

أرفقت لك الملف مرة أخرى وأتمنا منك أن تفيدني ماذا يحدث في الجداول لماذا هناك مجموعة من التبرعات لم يقم بجمعها مع نفس الفئة رغم أن كل شيئ متشابه.

هناك شيئ لا أفهمه وأتمنا أن اجد عندك الجواب الشافي.

أخوك / عبدالله الشهري

Charity.zip

#9

الأستاذ عبد الله الشهري :

مرفق ملف AllCharity يحتوي على قاعدتين للبيانات:

1 - قاعدة بيانات Charity2 الذي تمّ فيها :

* إضافة جدول واحد Dsc_Cat يضم الأصناف و فئاتها ، لا علاقة له بأي من الجداول ، فوظيفته فقط حفظ الأصناف و الفئات التي يتم تداولها ، و جعل بياناته كمصدر قياسي للحقلين "الصنف"، "الفئة"

* ماكرو بسيط Check يفرض على حقل "الفئة" القيمة المناسبة( سبق ذكره في المشاركة السابقة ) ، الماكرو في حدث ( بعد التحديث لحقل "الصنف")

* ماكرو بسيط 2Check استخدمه إذا أردت الإبقاء على الملف المرسل في مشاركتي الأولى .

2- قاعدة بيانات Charity3 الذي تمّ فيها :

* نفس الإضافات السابقة أعلاه ، و لكن أنظر كيف يمكن زيادة استثمار الجدول الجديد في تقرير ( الإجمالي ) ، أنظر كيف تم التعديل من خلال الاستعلامات ( لأنها تغيرت )

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

رز : بدون فراغ قبل حرف الراء ، و بدون فراغ بين الحرفين = رز ، و هي القيمة الصحيحة

ر ز : يوجد فراغ بين الحرفين ، يرى أكسس أنها قيمة مختلفة ، و هو محق في ذلك .

رز : يوجد فراغ قبل حرف الراء ، يرى أكسس أنها قيمة مختلفة أيضاً ، و هو محق في ذلك أيضاً.

* أظن أن هذا يفسر ملاحظتك الأخيرة ( مشاركة 8 ).

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

AllCharity.zip

#10

أخي صلاح جزاك الله خير

سأقوم بتجربة البرنامج، ولك كل الشكر والتقدير

أخوك / عبدالله الشهري

#11

اخي صلاح

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

فقد أطلعت على الملف المرفق وشاهدت محتوياته وقد لاحظت الآتي:

1- البرنامج Charity2 فالحال كما هو حيث في (الموجود في المخزن) لا زال هناك القمح مكرر أكثر من مرة وبالمناسبة لم اظيف أي شيئ على الجداول.

2- البنرامج Charity3 فأعتقد أنه أكثر دقة من سابقة وربما لو وضعنا ماكرو في التقرير (الموجود في المخزن ) عند التحديث مفادة (إذا كانت قيمة الكمية <= صفر فيقوم بإخفاء الصنف.

وعندها ربما يكون رائع.

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

هذا ما لاحظته

ختاماً لك كل الشكر أخي صلاح وربنا يوفقك.

أخوك عبدالله الشهري

#12

الأساذ عبد الله الشهري :

لماذا الجنون ؟! بل أصابك النسيان و الاستعجال .

أنت لا تحتاج لأي تعديل في البرنامج Charity2 ، التكرار الذي تحدثت عنه سببه هو ما ذكرته لك في المشاركة 9 ، كل ماعليك هو إعادة اختيار القيمة من القائمة المنسدلة ، حتى يسري العمل بالقيمة الجديدة ( بدون فراغات ).

#13

أخي صلاح

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

أسف لتغيبي الأيام الماضية ولكن لظروف خاصة والحمد لله قد عدت.

هناك أمران سأحاول عملهما ومن ثم عرض النتائج في المنتدى إن أستطعت أن أعملها لوحدي، وما نستغني عن خبرتك أنت وكل الخبراء في المساعدة في حال لم استطع لوحدي.

1- سأحاول أن أضع ماكرو لجعل البرنامج يعطي رسالة في حال كان الصنف الذي ادخلته على قائمة الأصناف جديد يخبرني بأن هذا الصنف غير موجود هل تريد إظافته أم لا.

2- سأحاول عمل ماكرو يستبعد الأصناف التي لم يتم استخدامها لكي لا تظهر في التقرير.

وهناك بعض الأشياء التي أريد إظافتها للبرنامج بحيث يصبح جيد ومن ثم نضعه في المنتدى لمن يريد أستخدامه وهم كثير.

أخوك

عبدالله الشهري

هذا الموضوع مغلق.

مواضيع مشابهة