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

إظهار قيمة لعميل لآخر تاريخ

بدأه jafar089 في 12 سبتمبر 2011 · 9 رد · 586 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

في المثال المرفق يوجد ثلاثة عملاء ( محمد ، حسن ، يوسف ) يسددون مبالغ شهرية

المطلوب : طباعة تقرير فيه أسماء الثلاثة عملاء وآخر تاريخ تم سداد المبلغ فيه مع إظهار المبلغ الذي تم سداده في ذلك التاريخ .

وتطبيقاً على المثال المرفق من المفترض أن تكون النتيجة كالتالي :

- محمد == 150 == 1432/11/10

- حسن == 50 == 1432/10/14

- يوسف == 150 == 1432/10/10

db3.rar

تم تعديل هذه المشاركة بواسطة jafar089 في 12 سبتمبر 2011 في 13:42

#2

أولا النتائج التى وضعتها ليوسف غير صحيحة

ثانيا

هذا الاستعلام يعطيك ما تريد

SELECT T1.nm, Last(T1.am) AS LastOfam, Last(T1.dt) AS LastOfdt
FROM T1
GROUP BY T1.nm
ORDER BY Last(T1.dt);

ابنى عليه التقرير كما تريد

1

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3
jafar089 كتب:

السلام عليكم

في المثال المرفق يوجد ثلاثة عملاء ( محمد ، حسن ، يوسف ) يسددون مبالغ شهرية

المطلوب : طباعة تقرير فيه أسماء الثلاثة عملاء وآخر تاريخ تم سداد المبلغ فيه مع إظهار المبلغ الذي تم سداده في ذلك التاريخ .

وتطبيقاً على المثال المرفق من المفترض أن تكون النتيجة كالتالي :

- محمد == 150 == 1432/11/10

- حسن == 50 == 1432/10/14

- يوسف == 150 == 1432/10/10

db3.rar

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

المرفق به الحل

db3.rar

yasserhome

#4

الأستاذ / أبو يوسف ..أحسنت والله يعطيك العافية .

فعلا النتيجة ليوسف المفروض أن تكون 100 ومع السرعة تم نسخ نتيجة محمد ووضعها ليوسف بالخطأ !

وشكرا لك أستاذ ياسر صالح فأجابتك رائعة ..

1
#5

بافتراض ادخال أكبر مبلغ في تاريخ قديم

وبافتراض توجد قيمتين لعميل لآخر تاريخ إحداهما صفر

فكيف نضع الشروط في الاستعلام لكي يتم إظهار النتيجة :

آخر تاريخ بقيمة أكبر من الصفر

db31.rar

#6

ضع الشرط فى الاستعلام ليكون الاستعلام بهذا الشكل

SELECT T1.nm, Last(T1.dt) AS Lastمنdt, Last(T1.am) AS Lastمنam
FROM T1
GROUP BY T1.nm
HAVING (((Last(T1.am))>0))
ORDER BY Last(T1.dt);

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#7

يظهر نتيجة " حسن " أقدم تاريخ وهو 1431/01/01 في حين أن المطلوب آخر تاريخ !

#8

نعم أخى وضحت الصورة

لكن الامر بهذه الطريقة فيه شىء من عدم المنطقية

عموما فى هذه الحالة

استخدم هذا الاستعلام

SELECT qry.nm, qry.Lastdt, T1.am
FROM (SELECT T1.nm, Max(T1.dt) AS Lastdt FROM T1 GROUP BY T1.nm)  AS qry INNER JOIN T1 ON (qry.Lastdt = T1.dt) AND (qry.nm = T1.nm)
WHERE (((T1.am)>0));
1

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#9

مشكور جزيلاً .. فعلا هذا هو المطلوب .

أما قولك بأن هذا فيه شيء من عدم المنطقية ، لم أفهم ذلك !

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

#10
jafar089 كتب:

مشكور جزيلاً .. فعلا هذا هو المطلوب .

أما قولك بأن هذا فيه شيء من عدم المنطقية ، لم أفهم ذلك !

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

قصدت بذلك أن المنطقى ألا يتم ادخال قيمة صفرية أصلا

و كذلك المنطقى أن يتم ادخال التواريخ بشكل متسلسل

عموما لا مشكلة فكل برنامج له ظروفه

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

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