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

كيف اعمل استعلام يقوم بعمل تجميع تراكمي مثل تقرير حركة الحساب

مغلق
بدأه sx1 في 15 يوليو 2007 · 21 رد · 2,664 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

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

ارجو المساعدة

#2

بسم الله الرحمن الرحيم

للرفع

#3

بسم الله الرحمن الرحيم

للرفع

#4
RunningSum.rarاخي الكريم اليك ملف مرفق يوضح عملية الاستعلام التراكمي

RunningSum.rar

تم تعديل هذه المشاركة بواسطة رامي في 17 يوليو 2007 في 16:46

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#5

السلام عليكم

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

المثال ممتاز جدا ولكنه يحتاج الي توضيح وتعديل بسيط

- التوضيح : عند فتح الاستعلام نجد هناك جدول واحد اسمه NewTable مع ملاحظة ان الجدول الوحيد بالملف اسمه tbl1 من اين هذا الجدول ؟؟؟

هو نفسه NewTable ولكن تم اضافة Table Alias بجملة SQL كما موضح بالصورة المرفقة حتي يتم اختيار الاسطر نفسها من الجدول وكل سطر به تاريخ + مجموع حقل amount من نفس الجدول عندما يكون التواريخ اصغر من السطر الحالي .....

اعلم ان شرح الاستعلام لمن لا يهوي الاستعلامات هو امر ممل جدا ولكن اذا لم نفهم الاستعلام لن نستطيع ان نستخدمه..

اذا عدلنا تاريخ السجل الثاني مثلا أو الثالث الي تاريخ بعد تاريخ السجل الخامس او السادس سيكون ناتج الاستعلام خطا

-التعديل : حتما يجب اعادة ترتيب السجلات بجدول NewTable حسب التاريخ

مرفق ملف بع الاستعلامين قبل التعديل وبه خطأ بالجمع التراكمي والاخر بعد التعديل

اخوكم فى الله

RunningSum.rar

post-80846-1184740396_thumb.jpg

تم تعديل هذه المشاركة بواسطة ahamied في 18 يوليو 2007 في 09:33

Microsoft Certified DataBase Administrator MCDBA

#6

بسم الله الرحمن الرحيم

بارك الله فيك اخي رامي على ارفاقك الملف وحفظك في مالك واهلك وصحتك

وبارك الله فيك اخي ahamied وحفظك في مالك واهلك وصحتك لانك قمت بهذا التعديل الاساسي والذي كان يمكن ان يخفى علينا

#7

بسم الله الرحمن الرحيم

بارك الله فيكم اخواني

اعذروني بعض التجربة وجدت مشكلة

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

ارجو ان اكون اوصلت الفكرة

#8

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

الإستعلام بناء على طلبك

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

والأمر الآخر استعرض الجدول لترى حركات الحساب اليومية ومن ثم اطلع على طريقة عمل الإستعلام وكيف تم عمل التجميع ثم كيفية استخدام التعابير

zaRunningSum.rar

بالتوفيق

#9

بسم الله الرحمن الرحيم

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

اقتباس
معقد قليلا

قليلا ؟؟ قليلا ؟؟ قليلا ؟؟ اختنا زهرة بتقول قليلا

الحمد لله ان ما طلبته لا يتطلب "كثيرا" الخاصة بمراقبتنا زهرة كانت تبخرت عقولنا

اختي زهرة المثال الذي ارفقته لم اكن اعلم ان هناك اصلا امكانية عمل استعلام للاستعلام الذي انا فيه بنفس الاستعلام ؟؟؟ اخواني سامحوني اني لم استطع اشرح على العموم

وعلى الرغم من الاستعلام الغير طبيعي الذي قمت بعمله فهذا ليس المطلوب - وان كان اعطانا خلفيه اننا لا نعرف شئ عن الاكسيس

ما اريده اختى ما يلي

ان تظهر كل حركة - كل حركة - بمعنى انه اذا كان في اليوم 10 حركات لا اريد ان تجمع.... اريد كل واحدة مستقلة بذاتها وان يحدث تجميع ايضا

ملاحظة :::::------

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

تم تعديل هذه المشاركة بواسطة sx1 في 21 يوليو 2007 في 11:38

#10

ألسلام عليكم

اخي الكريم

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

لذلك قمنا بانشاء حقل ID كقيمة غير مكررة ولكن الترتيب سيتم علي اساس هذا الحقل

اخوك فى الله

RunningSum.rar

Microsoft Certified DataBase Administrator MCDBA

#11

اخي الفاضل

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

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

اما الآن

اقتباس
ما اريده اختى ما يلي

ان تظهر كل حركة - كل حركة - بمعنى انه اذا كان في اليوم 10 حركات لا اريد ان تجمع.... اريد كل واحدة مستقلة بذاتها وان يحدث تجميع ايضا

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

Accumulated: (select(sum([amount])) from tbl1 where newtable.ID>=ID)
#12

بارك الله فيكي اختنا زهرة

دائما سباقة الي الحلول البسيطة الفعالة

ولو ان لقب استاذ من مديرة ومشرفة المنتدي والمشرفة المميزة يعطيني كل الحق للتحول الي عضو مغرور بدلا من عضو فعال :-)

اخوكم فى الله

Microsoft Certified DataBase Administrator MCDBA

#13

بسم الله الرحمن الرحيم

بارك الله فيك اخي ahamied في صحتك ومالك واهلك وعلمك

وطبعا لك كل الحق فيما قلته فاختنا زهرة بارك الله لها وفيها ورزقها العلم النافع ورزقها ما تحب من الاعلام في هذا المنتدى والتى لا تبخل عنا بعلمها الوفير وتوجيهاتها

اختنا زهرة لا اجد ما اشكرك به غير جزاك الله كل الخير وحفظك

اعلم اني اثقلت عليكم ولكن لي ملاحظة مهمة جدا

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

ستلاحظ

التاريخ الاول 19 / 1 ثم 2 / 7 ثم 14/ 2 مرة اخرى

بدات بشهر 1 ثم 7 ثم رجعت ل2 مرة اخرى وهذا بالطبع غير منطقي وغير مقبول ؟؟؟ الا توافقني اخي الكريم

الا توافقينى اختي زهرة

ارجو منكم الحل لهذه المشكلة التي نسفت الموضوع من اوله

حيث انه في الاساس يجب وضع التاريخ في الاعتبار

تم تعديل هذه المشاركة بواسطة sx1 في 22 يوليو 2007 في 10:45

#14

السلام عليكم

اخي الكريم

أولا : اوافقك الرأي تماما فى كل ما ذكرته.

ثانيا:

اذا كان تقرير الاكسس يوفر لنا هذه الخاصية بكفائة عالية جدا وغيره من التقارير علي سبيل المثال Cristal report فما الحكمة لديك من استخدام استعلام ؟

سيكون وقت تشغيل الاستعلام اكثر من الاستعلام الطبيعي نظرا لاحتوائه علي SubQerey يعني بعد 100.000 سجل ممكن تستني جنبه شوية كتير لحد ما يخلص.

موضوع ID كان لازم ولو حقل التاريخ كان حقل مفهرس اكيد كان كانت الحلول كتيرة جدا

كما انه يمكنك برمجيا منع المستخدم من ادخال تاريخ اصغر من اكبر تاريخ بالجدول بذلك تضمن ترتيب العمليات بالجدول تاريخيا.

مش عايزك تفتكر ان ده عيب او قصور بالاكسس او بال SQL الموضوع عندك انت ..

انت عايز محرك قاعدة بيانات دوره التخزين والاسترجاع والتشغيل للبيانات ان يقوم بدور برمجي !!

لازم تكون مرن شوية فى رغباتك البرمجية.

واخيرا معلومة مهمة جدا : حاول ان تتجنب اي حقول محسوبة بالاستعلام

يعني خلي الاستعلام بس يجييب البيانات وانت شغلها بلغة البرمجة او النمازج او التقارير

ده علشان سرعة المنتج وجودته

اخوك فى الله

Microsoft Certified DataBase Administrator MCDBA

#15
اقتباس
ستلاحظ

التاريخ الاول 19 / 1 ثم 2 / 7 ثم 14/ 2 مرة اخرى

بدات بشهر 1 ثم 7 ثم رجعت ل2 مرة اخرى وهذا بالطبع غير منطقي وغير مقبول ؟؟؟ الا توافقني اخي الكريم

الا توافقينى اختي زهرة

طيب شوف الحل هذا قد يكون مناسب لمثل هذه الحالة

RunningSum_UP.rar

#16

بسم الله الرحمن الرحيم

بارك الله فيك اخي ahamied واشكر لك صدق نصيحتك ولكن

اقتباس
مش عايزك تفتكر ان ده عيب او قصور بالاكسس او بال SQL الموضوع عندك انت ..

انت عايز محرك قاعدة بيانات دوره التخزين والاسترجاع والتشغيل للبيانات ان يقوم بدور برمجي !!

لازم تكون مرن شوية فى رغباتك البرمجية.

واخيرا معلومة مهمة جدا : حاول ان تتجنب اي حقول محسوبة بالاستعلام

يعني خلي الاستعلام بس يجييب البيانات وانت شغلها بلغة البرمجة او النمازج او التقارير

ده علشان سرعة المنتج وجودته

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

اما الاخت زهرة بارك الله فيها وحفظها

اولا بارك الله فيك اختي وحفظك اعلم انه مشاغلك كثيرة وان لبقية الاعضاء حقوق عليك وانني قد استغللت من وقتك الكثير ولكن ما باليد حيلة

ارجو ان تسامحينى

ثانيا اختي زهرة هل جربت ان تضيفي في النهاية بيان يكون تاريخه مثلا 1 / 1 ستجدين الموضوع غير ذي معنى ايضا

اختي زهرة ونظرا لما قلته سابقا - وعلى الرغم من احتياجي الشديد لذلك - اترك لك مسالة ان تردي على او لا حتى لا تتضايقي مني وحتى لا يتضايق باقي الاعضاء

#17

اخي الفاضل

بارك الله فيك

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

عموما اخي الكريم هذا الحل المثالي لمشكلتك

قمنا بحذف معرف الـ ID الذي ينتج عنه ترقيم تلقائي في الجدول واستبدلناه بترقيم تلقائي لتعبير ID في الإستعلام فقط .

لهذا نجد اننا مهما وضعنا من في الجدول من سجلات بتواريخ مختلفه سواء سابقة مثل 1423/01/01 او لاحقه مثل 1423/12/30 في اخر الجدول فإن الإستعلام سوف يقوم بفرز التاريخ تصاعديا بناء على موقع التاريخ في مكانه الصحيح ومن ثم يتم الترقيم التلقائي الصحيح للإستعلام ومن ثم حساب الرصيد التراكمي .

اقتباس
ثانيا اختي زهرة هل جربت ان تضيفي في النهاية بيان يكون تاريخه مثلا 1 / 1 ستجدين الموضوع غير ذي معنى ايضا

نعم جربت الآن واصبح الموضوع له معنى .... حاول ان تجرب انت بإضافة تاريخ مثل 1423/01/01 في نهاية الجدول ثم قم بتشغيل الإستعلام وابلغنا بالنتيجه

RunningSum_UP2.rar

#18

السلام عليكم

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

والله حل جميل جدا لكنه يعتمد علي حل برمجي

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

أخوكم فى الله

Microsoft Certified DataBase Administrator MCDBA

#19

لا نملك الا ان ندعو لك بظهر الغيب يا زهرة منتدانا على ما تقدمينه

اقتباس
نعم جربت الآن واصبح الموضوع له معنى

حل في منتهى الروعة و يحمل كل معاني الابداع -waf

#20

السلام عليكم

اخي العضو الكريم يوسف احمد

الم تلاحظ بطء الاستعلام علما بانه يحتوي مجموعة من السجلات لا تتعدي العشرون !! بالظبط 20 سجل

ماذا لو تعدت خمسمائة سجل او الفان سجل

مرفق نفس الملف بعد ادراج 1960 سجل اذا قمت بتشغيل الاستعلام اعتقد ان الموضوع سينتهي باستخدام Ctrl+Alt+Del

اخوك فى الله ahamied

RunningSum_UP2.rar

Microsoft Certified DataBase Administrator MCDBA

#21

بسم الله الرحمن الرحيم

قبل اي شئ وقبل اي مناقشة

جزاك الله كل الخير اختنا وزهرتنا ومشرفتنا ومراقبتنا زهرة

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

اما ما اورده الاخ ahamied من بطء الاستعلام فهذا صحيح ولكن اود ان استعير كلمة اختنا زهرة

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

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

#22

بسم الله الرحمن الرحيم

للرفع

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

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

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

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

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

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