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

سؤال صعب في الاستعلامات

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

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

احبتي الكرام ... اساتذتي الأعزاء

تحية طيبة وبعد

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

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

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

على سبيل المثال :

عند أدخال السنة المالية 1418/1419 فالنتيجة تكون إيجابية وذلك لوجود عملاء سددو جزء من مديونيتم في نفس سنة حصولهم على القروض وهي كالتالي :

السنة المالية --------- رقم العميل ------ المبلغ المحصل

1418 /1419 -------- 3 ------- 90000

1418/1419 -------- 5 ------- 100000

ولكن عند أدخال السنة المالية 1420/1421 فأن النتيجة تكون سلبية اي لايوجد عملاء وذلك لعدم وجود مبالغ مسدده في هذه السنة من قبل مقترضي نفس السنة وتكون النتيجة فقط عناوين حقول الاستعلام دون وجود نتيجة وذلك كالتالي :

السنة المالية ____________ رقم العميل __________ المبلغ المحصل

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

السنة المالية ________ رقم العميل _________ المبلغ المحصل

1420/1421 ________ 0 _________ 0

وهل هناك طريقة أفظل من طريقتي تلك. آمل الإفادة.

ارجو اني وفقة في صياغة السؤال وآسف على الإطالة .

#2

عفواً اساتذتي ومشرفين الكرام

لم استطع ارفاق الملف مالسبب ؟ تطهر رسالة تفيد بانني غير مصرح لي بارفاق مثل هذه الملفات.

مع الشكر للجميع

#3

مرحبا بك :D

المل المرفق لابد له من شرطين:

1 - ان يكون مضغوظا يحمل احد الامتدادين zip او rar

2- الا تجاوز مساحته ال 500 ك.بايت (حوالي نصف ميجا)

تاكد من ملفك وحاول مرة اخرى

تحياتي

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

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

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#4

اخي الكريم ناسي ماضي

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

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

المديونيات.rar

اختكم

زهره

#5

الاخت الكريمة زهرة

لا احب ابدا ان بفوتني مثال من عملك

ارجو ارفاق مثالك باكسيس 2000 حتى اتمكن من الاستفادة منه

ولك جزيل الشكر.. :rolleyes:

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

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

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#7

شكراً جزيلاً مشرفتنا الكبيرة زهرة

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

وفيما يلي ارفق لكم المثال لعلي أجد حل

اكرر شكري لمشرفتنا القديرة على سرعة تجاوبها واشكر جميع الأعضاء ممن تجاوبو مع مشاركتي .

qury99.rar

#8

اخي الكريم ناسي ماضي

العملية سهلة جدا اليك الطريقه

1. افتح الاستعلام في وضع التصميم

2. قم بإزالة جميع المعايير وضع بدلا منها هذا المعيار في خانة " السنه المالية للقرض " وشوف النتيجه رايح تفرح وسيظهر لك العملاء الذين سددوا في نفس سنة حصولهم على القرض

ALike [السنة المالية للتحصيل]

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

qury99.rar

اختكم

زهره

#9

الف شكر لاستاذتي ومشرفتنا القديرة زهرة

بالفعل كود ممتاز وفرحت فيه حيث انه اختصر على كثيراً ووفر علي عملية أدخال السنة المالية مرتين ولكن الحلوى مايكمل حيث المشكله مازالت قائمة والمتمثلة بالتالي :

بالنسبة لقاعدة البيانات التي في صدد اعدادها تتطلب الاستفسار عن سنة مالية واحدة فقط يتم أدخالها عن طريق المستخدم لذلك قمت بإضافة الكود الخاص بادخال السنة المالية (ادخل السن المالية ) والمشكله ليست هنا بل في حالة عدم وجود سداد من قبل مقترضي سنة الاستفسار حيث تكون النتيجة سلبية في هذه الحالة حيث لايضهر سوى عناوين الاستعلام فقط 0000 بينما انا اريد ان تضهر لي السنة المالية الستفسر عنها والمبلغ المحصل وهو في هذه الحاله صفر وذلك لأنه سيترتب على ناتج الاستعلام عملية حسابية أخرى وفي حالتنا هذه أي عدم وجود الصفر فان العملية الحسابية لايمكن ان تتم . مرفق ملف يوجد فيه تقرير مضمن بالعملية الحسابية ، ففي حالة ادخال السنة المالية 1419/1420 فلا يوجد أي مشكله لانه يوجد عملاء سددو في هذه السنة بينما في حالة أدخال السنة المالية 1420 / 1421 فالنتيجة للأسف مخيبه وذلك لعدم وجود سداد من مقترضي نفس السنة وبالتالي عدم ضهور القيمة ومن ثم لا تتم العملية الحسابية .

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

اكرر شكري وتقدير لمشرفتنا الاستاذه زهرة وحسن وسرعة تجاوبها وآسف على الإطالة .

report qury99.rar

#10

المشرفة القديرة رهرة

اعضاء ومشرفي منتدى الفريق العربي الكرام

مازلت انتظر الحل على احر من الجمر ......

#11

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

السادة مشرفي وأعضاء منتدى الفريق العربي ؟؟؟؟؟؟؟؟؟؟؟؟؟

إلا يمكن وضع تعليمة برمجية ( كود ) في حالة عدم وجود نتيجة يكون اذن يكون الناتج صفر

شكراً للجميع

#12

تفضل اخي الكريم ناسي ماضي

هذا ملفك بعد التعديل قم بإجراء التجارب عليه سواء في الاستعلامات او التقارير ستجد النتائج مبشرة بالخير وحسب طلبك .

اين كانت المشكله ؟

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

ملاحظة:

ردا على سؤالك في وضع قيمة الصفر بدل الحقل الفارغ في مربعات النص يمكن استخدام الدالة ()NZ التي تقوم بتعويض القيم الفارغة الى اصفار في الحقول .

في النسخ القديمه من الاكسيس ACCESS2 و ACCESS97 كنا نستخدم الدالة ()NullToZero والان بعد تطور النسخ الحديثه تم استخدام الدالة ()NZ وهي مشابهه لها مع اختلاف بسيط فالدالة الاولى كانت تحتاج الى وحدة نمطيه يكتب فيها الكود الكامل للدالة اما الان فلا نحتاج الى هذا كله كل ما عليك هو وضع الدالة ()NZ قبل الحقل المراد اضهار قيمته صفر اذا كان فارغا .

كما يكمن التغلب على هذه المشكلة بإستخدام الدالة ()IIF مع الدالة ()IsNull بحيث لو كانت هناك حقول فارغة او خالية سواء في الاستعلام او النموذج او التقرير فإن الدالتين تقوم بإعادة القيم الفارغة الى صفر مثال على استخدامها في الاستعلام

المبلغ المحصل:IIf(IsNull([المبلغ المحصل]);"0";[المبلغ المحصل])

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

=IIf(IsNull([المبلغ المحصل]);"0";[المبلغ المحصل])

شرح الدالة من واقع المثال

نرى ان الحقل المبلغ المحصل يدخل ضمن شروط الدالتين فإذا كان الحقل فارغ فإن قيمته تكون صفر والا تعاد قيمته اذا كان يوجد به قيمه عدديه او نصيه

اختكم

زهره

بعد التعديل.rar

تم تعديل هذه المشاركة بواسطة zahrah في 11 سبتمبر 2005 في 19:50

#13

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

مشرفتي وأستاذتي القديرة زهرة

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

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

اقتباس من مشاركة المشرفة القديرة زهرة

ردا على سؤالك في وضع قيمة الصفر بدل الحقل الفارغ في مربعات النص يمكن استخدام الدالة ()NZ التي تقوم بتعويض القيم الفارغة الى اصفار في الحقول .

في النسخ القديمه من الاكسيس ACCESS2 و ACCESS97 كنا نستخدم الدالة ()NullToZero والان بعد تطور النسخ الحديثه تم استخدام الدالة ()NZ وهي مشابهه لها مع اختلاف بسيط فالدالة الاولى كانت تحتاج الى وحدة نمطيه يكتب فيها الكود الكامل للدالة اما الان فلا نحتاج الى هذا كله كل ما عليك هو وضع الدالة ()NZ قبل الحقل المراد اضهار قيمته صفر اذا كان فارغا .

كما يكمن التغلب على هذه المشكلة بإستخدام الدالة ()IIF مع الدالة ()IsNull بحيث لو كانت هناك حقول فارغة او خالية سواء في الاستعلام او النموذج او التقرير فإن الدالتين تقوم بإعادة القيم الفارغة الى صفر مثال على استخدامها في الاستعلام

SQL

المبلغ المحصل:IIf(IsNull([المبلغ المحصل]);"0";[المبلغ المحصل])

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

SQL

=IIf(IsNull([المبلغ المحصل]);"0";[المبلغ المحصل])

في الختام لايسعني الا ان اكرر شكرري وامتناني لاستاذتي القديرة زهرة

#14

الاخت الفاضلة زهرة

مازلت انتظر الملف بعد التعديل

كما يوجد لدي سؤال آخر على مشاكرتك القوية في فك الحماية لبرامج اكسس وهي بخصصوص تركيب البرناناج ذكرتي أختي الفاضلة انه يوجد مجلد بأسم AOPR في مجلد PROGRAM FILE ولكن عند البحث عنه لم اجده فهل من طريقة اخرى لتشغيل البرنامج.

مع الشكر

#15

الأخت الفاضلة زهرة

جاري تحميل الملف ؟؟؟؟؟؟؟؟.

#16

الاخت المشرفة زهرة

الأخوة المشرفين

الأخوة أعضاء المنتدى

طال الصبر والمبتلي ملء صبره

الرجاء إيضاح كيف يتم استخدام الاكواد السابقة وذلك بالتعديل على الملف بالمشاركة السابقة .

تحتياتي

#17

السادة مشرفي وأعضاء المنتدى الكرام

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

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

شكراً للجميع

#18

اخي ناسي ماضي

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

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

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

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

ختاما اكرر اعتذاري واسفي الشديدين على التاخير واليك المثال

هذا الملف يعمل على اوفيس 2003

NEW2.rar

نفس الملف يعمل على اوفيس 2000

NEW2000.rar

اختكم

زهره

تم تعديل هذه المشاركة بواسطة zahrah في 16 سبتمبر 2005 في 11:29

1
#19

1000 شكر وشكر وشكر

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

استاذتي القديرة زهرة

سأتفحص المثلاين ووافيكي بالنتائج ....

جاري التحميل

أكرر اسفي وشكري

تحياتي الحارة

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…