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

طلب شرح الرصيد فى الاستعلام

بدأه qatar_ahmed_em في 15 أبريل 2009 · 5 رد · 573 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجو من سيادتكم التكرم بشرح تفصيلى ليكفية عمل الرصيد فى المرفقات حيث قد إختلف علي كيفية عمل الاستعلام و شكراً

Bank_UP.rar

#2

السلام عليكم

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

وجزاكم الله خيرا :blink:

#3

هذا هو الاستعلام:

SELECT New_Q_File.Specification, 
New_Q_File.In_in, 
New_Q_File.Out_out, 
New_Q_File.Pro_Date, 
New_Q_File.Contract_Num, 
New_Q_File.Con, 
(select(sum([IN_in])-sum([OUT_out])) from  [Contract_File] where New_Q_File.[Pro_Date]>=[Pro_Date] and New_Q_File.[con]>=[con] ) AS RASEED

FROM Contract_File AS New_Q_File

GROUP BY New_Q_File.Specification, New_Q_File.In_in, New_Q_File.Out_out, New_Q_File.Pro_Date, New_Q_File.Contract_Num, New_Q_File.Con

ORDER BY New_Q_File.Pro_Date, New_Q_File.Con;

1. كل سطر في الاستعلام عبارة عن عدة حقول تمثل العقد ووارده ومنصرفه وتاريخه وما إلى ذلك، تم ترتيب العقود حسب التاريخ.

2. الحقل الأخير يختلف (Raseed)؛ هو استعلام كامل يحسب مجموع الوارد ناقصاً مجموع المنصرف (ذلك هو الرصيد)، بشكل مستقل من الجدول الأصلي مباشرة لكنه يضع شرطاً على هذا الاستعلام. بما أن السطور مرتبة حسب التاريخ، فهو يدخل في الاحتساب فقط العقود بتاريخ يساوي أو أقل من تاريخ السطر الحالي في الاستعلام لأنك إذا تأكدت أنك لم تحتسب أي واردات أو مصروفات بعد العقد الحالي في سطر معين من الاستعلام، فأنت تعلم أن الرصيد يعكس بالفعل الحالة في وقت ذلك السطر المعين.

3. لماذا الشرط

New_Q_File.[con]>=[con]

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

4. لماذا Group By؟ لأننا استخدمنا Sum، ومن المعلوم أن استخدام دالة تجميعية مع حقول أخرى يوجب استخدام التجميع Group By.

5. لماذا ORDER BY New_Q_File.Pro_Date, New_Q_File.Con؟ لأن فكرة الرصيد كما أسلفنا تعتمد على ترتيب السطور في الاستعلام حسب التاريخ أولاً وحسب رقم مميز ثانياً في حالة تساوي التواريخ...

هذا ما تيسر والله أعلم...

#4

الاخ الكريم شكرا على التوضيح و لكن هناك فى الاستعلام جدول بأسم (New_Q_File) من اين اتى ؟ و جزاك الله خيرا و ارجو من الله ان يبارك فيك و فى جميع من بالمنتدى من مشرفين و اعضاء

#5

أخي هذا مجرد Alias، يعني اسم مؤقت للجدول في الاستعلام تم تحديده في جزء From، انظر الاستعلام مرة أخرى:

FROM Contract_File AS New_Q_File

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

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 16 أبريل 2009 في 18:06

#6

شكرا اخى الكريم على التوضيح و جزاك الله خيراً

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