بسم الله الرحمن الرحيم
كيف نعمل استعلام يقوم بعمل مجموع للحركات السابقة مثل تقرير حركة الحساب
اعتقد انه سبق بيان هذه النقطة وقد بحثت ولكن لم اتمكن من العثور عليها
ارجو المساعدة
بسم الله الرحمن الرحيم
كيف نعمل استعلام يقوم بعمل مجموع للحركات السابقة مثل تقرير حركة الحساب
اعتقد انه سبق بيان هذه النقطة وقد بحثت ولكن لم اتمكن من العثور عليها
ارجو المساعدة
بسم الله الرحمن الرحيم
للرفع
بسم الله الرحمن الرحيم
للرفع
تم تعديل هذه المشاركة بواسطة رامي في 17 يوليو 2007 في 16:46
سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته
السلام عليكم
الاخوة الكرام
المثال ممتاز جدا ولكنه يحتاج الي توضيح وتعديل بسيط
- التوضيح : عند فتح الاستعلام نجد هناك جدول واحد اسمه NewTable مع ملاحظة ان الجدول الوحيد بالملف اسمه tbl1 من اين هذا الجدول ؟؟؟
هو نفسه NewTable ولكن تم اضافة Table Alias بجملة SQL كما موضح بالصورة المرفقة حتي يتم اختيار الاسطر نفسها من الجدول وكل سطر به تاريخ + مجموع حقل amount من نفس الجدول عندما يكون التواريخ اصغر من السطر الحالي .....
اعلم ان شرح الاستعلام لمن لا يهوي الاستعلامات هو امر ممل جدا ولكن اذا لم نفهم الاستعلام لن نستطيع ان نستخدمه..
اذا عدلنا تاريخ السجل الثاني مثلا أو الثالث الي تاريخ بعد تاريخ السجل الخامس او السادس سيكون ناتج الاستعلام خطا
-التعديل : حتما يجب اعادة ترتيب السجلات بجدول NewTable حسب التاريخ
مرفق ملف بع الاستعلامين قبل التعديل وبه خطأ بالجمع التراكمي والاخر بعد التعديل
اخوكم فى الله
تم تعديل هذه المشاركة بواسطة ahamied في 18 يوليو 2007 في 09:33
Microsoft Certified DataBase Administrator MCDBA
بسم الله الرحمن الرحيم
بارك الله فيك اخي رامي على ارفاقك الملف وحفظك في مالك واهلك وصحتك
وبارك الله فيك اخي ahamied وحفظك في مالك واهلك وصحتك لانك قمت بهذا التعديل الاساسي والذي كان يمكن ان يخفى علينا
بسم الله الرحمن الرحيم
بارك الله فيكم اخواني
اعذروني بعض التجربة وجدت مشكلة
المشكلة تكمن في ان التجميع يتم على مستوى اليوم وهو ليس صحيحا فيمكن ان يحدث عدة حركات مثلا في نفس اليوم فهل توجد طريقة لحل تلك المشكلة بحيث انه ياخذ التاريخ في الاعتبار بجانب ان تكون كل حركة مستقلة
ارجو ان اكون اوصلت الفكرة
تفضل اخي الكريم
الإستعلام بناء على طلبك
واتمنى ان تحاول دراسته بعناية لأنه معقد قليلا فهو يعتمد على عدة تعابير واذا لم تستطع فهم طريقة عمله ابلغنا لكي نشرحه لك خطوه خطوه
والأمر الآخر استعرض الجدول لترى حركات الحساب اليومية ومن ثم اطلع على طريقة عمل الإستعلام وكيف تم عمل التجميع ثم كيفية استخدام التعابير
بالتوفيق
بسم الله الرحمن الرحيم
بارك الله فيك اختي زهرة في مالك واولادك وبيتك وعلمك وصحتك
اقتباسمعقد قليلا
قليلا ؟؟ قليلا ؟؟ قليلا ؟؟ اختنا زهرة بتقول قليلا
الحمد لله ان ما طلبته لا يتطلب "كثيرا" الخاصة بمراقبتنا زهرة كانت تبخرت عقولنا
اختي زهرة المثال الذي ارفقته لم اكن اعلم ان هناك اصلا امكانية عمل استعلام للاستعلام الذي انا فيه بنفس الاستعلام ؟؟؟ اخواني سامحوني اني لم استطع اشرح على العموم
وعلى الرغم من الاستعلام الغير طبيعي الذي قمت بعمله فهذا ليس المطلوب - وان كان اعطانا خلفيه اننا لا نعرف شئ عن الاكسيس
ما اريده اختى ما يلي
ان تظهر كل حركة - كل حركة - بمعنى انه اذا كان في اليوم 10 حركات لا اريد ان تجمع.... اريد كل واحدة مستقلة بذاتها وان يحدث تجميع ايضا
ملاحظة :::::------
اختي زهرة بارك الله فيك برجاء اذا كان الحل فيه من نوعية "قليلا" الخاصة بك ان تقومي بالشرح حيث ان عقلي لن يحتمل واعتقد الاعضاء معي
تم تعديل هذه المشاركة بواسطة sx1 في 21 يوليو 2007 في 11:38
ألسلام عليكم
اخي الكريم
الموضوع محتاج مفتاح اساسي لحق التاريخ وهذا لا يمكن بالطبع
لذلك قمنا بانشاء حقل ID كقيمة غير مكررة ولكن الترتيب سيتم علي اساس هذا الحقل
اخوك فى الله
Microsoft Certified DataBase Administrator MCDBA
اخي الفاضل
اقتباسالمشكلة تكمن في ان التجميع يتم على مستوى اليوم وهو ليس صحيحا فيمكن ان يحدث عدة حركات مثلا في نفس اليوم فهل توجد طريقة لحل تلك المشكلة بحيث انه ياخذ التاريخ في الاعتبار بجانب ان تكون كل حركة مستقلة
بناء على مشاركتك السابقة فقد فهمت انك تريد تجميع الحركات التي تحدث في نفس اليوم الواحد لهذا قمت بعمل الإستعلام بناء على ذلك
اما الآن
اقتباسما اريده اختى ما يليان تظهر كل حركة - كل حركة - بمعنى انه اذا كان في اليوم 10 حركات لا اريد ان تجمع.... اريد كل واحدة مستقلة بذاتها وان يحدث تجميع ايضا
فيظهر لي انك تريد عمل الرصيد كما فعل الأستاذ احمد وطبعا كما قال لك لابد من وجود حقل مفهرس وهو ID حتى يتم عمل الإستعلام وجمع المبلغ الذي قبله من السجل مع السجل التالي من خلال الإستعلام الفرعي كما فعل الأستاذ احمد
Accumulated: (select(sum([amount])) from tbl1 where newtable.ID>=ID)
بارك الله فيكي اختنا زهرة
دائما سباقة الي الحلول البسيطة الفعالة
ولو ان لقب استاذ من مديرة ومشرفة المنتدي والمشرفة المميزة يعطيني كل الحق للتحول الي عضو مغرور بدلا من عضو فعال :-)
اخوكم فى الله
Microsoft Certified DataBase Administrator MCDBA
بسم الله الرحمن الرحيم
بارك الله فيك اخي ahamied في صحتك ومالك واهلك وعلمك
وطبعا لك كل الحق فيما قلته فاختنا زهرة بارك الله لها وفيها ورزقها العلم النافع ورزقها ما تحب من الاعلام في هذا المنتدى والتى لا تبخل عنا بعلمها الوفير وتوجيهاتها
اختنا زهرة لا اجد ما اشكرك به غير جزاك الله كل الخير وحفظك
اعلم اني اثقلت عليكم ولكن لي ملاحظة مهمة جدا
هل لاحظت اخي الكريم انك بهذه الطريقة تجاهلت التاريخ تماما بمعنى ان الترقيم التلقائي الذي اضفته قد شوه البيانات في الجدول واصبح الترتيب غير ذي معنى
ستلاحظ
التاريخ الاول 19 / 1 ثم 2 / 7 ثم 14/ 2 مرة اخرى
بدات بشهر 1 ثم 7 ثم رجعت ل2 مرة اخرى وهذا بالطبع غير منطقي وغير مقبول ؟؟؟ الا توافقني اخي الكريم
الا توافقينى اختي زهرة
ارجو منكم الحل لهذه المشكلة التي نسفت الموضوع من اوله
حيث انه في الاساس يجب وضع التاريخ في الاعتبار
تم تعديل هذه المشاركة بواسطة sx1 في 22 يوليو 2007 في 10:45
السلام عليكم
اخي الكريم
أولا : اوافقك الرأي تماما فى كل ما ذكرته.
ثانيا:
اذا كان تقرير الاكسس يوفر لنا هذه الخاصية بكفائة عالية جدا وغيره من التقارير علي سبيل المثال Cristal report فما الحكمة لديك من استخدام استعلام ؟
سيكون وقت تشغيل الاستعلام اكثر من الاستعلام الطبيعي نظرا لاحتوائه علي SubQerey يعني بعد 100.000 سجل ممكن تستني جنبه شوية كتير لحد ما يخلص.
موضوع ID كان لازم ولو حقل التاريخ كان حقل مفهرس اكيد كان كانت الحلول كتيرة جدا
كما انه يمكنك برمجيا منع المستخدم من ادخال تاريخ اصغر من اكبر تاريخ بالجدول بذلك تضمن ترتيب العمليات بالجدول تاريخيا.
مش عايزك تفتكر ان ده عيب او قصور بالاكسس او بال SQL الموضوع عندك انت ..
انت عايز محرك قاعدة بيانات دوره التخزين والاسترجاع والتشغيل للبيانات ان يقوم بدور برمجي !!
لازم تكون مرن شوية فى رغباتك البرمجية.
واخيرا معلومة مهمة جدا : حاول ان تتجنب اي حقول محسوبة بالاستعلام
يعني خلي الاستعلام بس يجييب البيانات وانت شغلها بلغة البرمجة او النمازج او التقارير
ده علشان سرعة المنتج وجودته
اخوك فى الله
Microsoft Certified DataBase Administrator MCDBA
اقتباسستلاحظالتاريخ الاول 19 / 1 ثم 2 / 7 ثم 14/ 2 مرة اخرى
بدات بشهر 1 ثم 7 ثم رجعت ل2 مرة اخرى وهذا بالطبع غير منطقي وغير مقبول ؟؟؟ الا توافقني اخي الكريم
الا توافقينى اختي زهرة
طيب شوف الحل هذا قد يكون مناسب لمثل هذه الحالة
بسم الله الرحمن الرحيم
بارك الله فيك اخي ahamied واشكر لك صدق نصيحتك ولكن
اقتباسمش عايزك تفتكر ان ده عيب او قصور بالاكسس او بال SQL الموضوع عندك انت ..انت عايز محرك قاعدة بيانات دوره التخزين والاسترجاع والتشغيل للبيانات ان يقوم بدور برمجي !!
لازم تكون مرن شوية فى رغباتك البرمجية.
واخيرا معلومة مهمة جدا : حاول ان تتجنب اي حقول محسوبة بالاستعلام
يعني خلي الاستعلام بس يجييب البيانات وانت شغلها بلغة البرمجة او النمازج او التقارير
ده علشان سرعة المنتج وجودته
اتفهم تماما ما تقول وساحاول تطبيق ما نصحتني به الا انني في الوقت الحالي احتاج لهذا الطلب على الرغم مما ذكرت وذلك لوجود برنامج اصلا وبه هذا العيب - ارجو ان تتفهم احتياجي
اما الاخت زهرة بارك الله فيها وحفظها
اولا بارك الله فيك اختي وحفظك اعلم انه مشاغلك كثيرة وان لبقية الاعضاء حقوق عليك وانني قد استغللت من وقتك الكثير ولكن ما باليد حيلة
ارجو ان تسامحينى
ثانيا اختي زهرة هل جربت ان تضيفي في النهاية بيان يكون تاريخه مثلا 1 / 1 ستجدين الموضوع غير ذي معنى ايضا
اختي زهرة ونظرا لما قلته سابقا - وعلى الرغم من احتياجي الشديد لذلك - اترك لك مسالة ان تردي على او لا حتى لا تتضايقي مني وحتى لا يتضايق باقي الاعضاء
اخي الفاضل
بارك الله فيك
لا يوجد مشكلة ان شاء الله ويعلم الله اننا نحاول مساعدتكم بكل منا نستطيع ولكن قد يكون الموضوع به نوع من الغموض ولكن مع المحاولات والتعقيب نصل بإذن الله الى الحل الأمثل فلا عليك اخي الفاضل علما بأنني لا اتضايق من كثرة الأسئلة اذا كانت لغرض الفائده .
عموما اخي الكريم هذا الحل المثالي لمشكلتك
قمنا بحذف معرف الـ ID الذي ينتج عنه ترقيم تلقائي في الجدول واستبدلناه بترقيم تلقائي لتعبير ID في الإستعلام فقط .
لهذا نجد اننا مهما وضعنا من في الجدول من سجلات بتواريخ مختلفه سواء سابقة مثل 1423/01/01 او لاحقه مثل 1423/12/30 في اخر الجدول فإن الإستعلام سوف يقوم بفرز التاريخ تصاعديا بناء على موقع التاريخ في مكانه الصحيح ومن ثم يتم الترقيم التلقائي الصحيح للإستعلام ومن ثم حساب الرصيد التراكمي .
اقتباسثانيا اختي زهرة هل جربت ان تضيفي في النهاية بيان يكون تاريخه مثلا 1 / 1 ستجدين الموضوع غير ذي معنى ايضا
نعم جربت الآن واصبح الموضوع له معنى .... حاول ان تجرب انت بإضافة تاريخ مثل 1423/01/01 في نهاية الجدول ثم قم بتشغيل الإستعلام وابلغنا بالنتيجه
السلام عليكم
الاخت الكريمة زهرة المنتدي
والله حل جميل جدا لكنه يعتمد علي حل برمجي
كيف نخلي الاستعلام اسرع من كده شوية ؟
أخوكم فى الله
Microsoft Certified DataBase Administrator MCDBA
لا نملك الا ان ندعو لك بظهر الغيب يا زهرة منتدانا على ما تقدمينه
اقتباسنعم جربت الآن واصبح الموضوع له معنى
حل في منتهى الروعة و يحمل كل معاني الابداع -waf
السلام عليكم
اخي العضو الكريم يوسف احمد
الم تلاحظ بطء الاستعلام علما بانه يحتوي مجموعة من السجلات لا تتعدي العشرون !! بالظبط 20 سجل
ماذا لو تعدت خمسمائة سجل او الفان سجل
مرفق نفس الملف بعد ادراج 1960 سجل اذا قمت بتشغيل الاستعلام اعتقد ان الموضوع سينتهي باستخدام Ctrl+Alt+Del
اخوك فى الله ahamied
Microsoft Certified DataBase Administrator MCDBA
بسم الله الرحمن الرحيم
قبل اي شئ وقبل اي مناقشة
جزاك الله كل الخير اختنا وزهرتنا ومشرفتنا ومراقبتنا زهرة
بارك الله فيك وفي بيتك واهلك ومالك وعلمك وحفظك لنا فعلا الحل ممتع وهي كلمة قليلة
اما ما اورده الاخ ahamied من بطء الاستعلام فهذا صحيح ولكن اود ان استعير كلمة اختنا زهرة
اقتباسلا يوجد مشكلة ان شاء الله ويعلم الله اننا نحاول مساعدتكم بكل منا نستطيع ولكن قد يكون الموضوع به نوع من الغموض ولكن مع المحاولات والتعقيب نصل بإذن الله الى الحل الأمثل فلا عليك اخي الفاضل علما بأنني لا اتضايق من كثرة الأسئلة اذا كانت لغرض الفائده .
نرجو من الاخت زهرة ان كان وقتها يسمح ان تضيف تعديل او ما شابه - للمرة المليون سامحينا اخت زهرة - حتى نصل كما قالت للحل المثالي من جميع الجوانب
بسم الله الرحمن الرحيم
للرفع
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…