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

[تمت الاجابه]إظهار آخر قيمة إذا كانت صرف أو إيداع

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

السلام عليكم :

لدي جدول :

الرقم - الاسم - نوع الحركة - مبلغ الإيداع - مبلغ الصرف

وعملت نموذج يوضح لي جميع الأسماء مع نوع آخر حركة ومبلغ آخر حركة .

واجهتني مشكلة كيف أظهر مبلغ آخر حركة ؟ لأنه قد يكون آخر حركة (صرف) وقد تكون (ايداع) والنموذج ( نماذج مستمرة ) وقد حاولت استعمال دالة : =Switch

المرفق يوضح المطلوب .

مثال على استبدال قيمة حقل بشرط.rar

mk17481_26bccea871.gif
#2

رفع الله من قدركم ...

mk17481_26bccea871.gif
#3

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

استخدم نفس الطريقة وحاول معرفة قيمة الحقل اذا كان 0 فخذ القيمة الثانية والعكس صحيح

=IIf(DLast("[txtin]";"t_1";" [txtname]=[forms]![f_ksf]![txtname] ")=0;DLast("[txtout]";"t_1";" [txtname]=[forms]![f_ksf]![txtname] ");DLast("[txtin]";"t_1";" [txtname]=[forms]![f_ksf]![txtname] "))

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

تحياتي

مثال على استبدال قيمة حقل بشرط.rar

27169617.gif
#4

يمكن اختصار الكود باعتبار أن المطلوب فقط اظهار مبلغ آخر قيد.. و أن القيد إما أن يكون ايداع وإما أن يكون صرف، وبالتالي فأحد الحقلين صفر والآخر أكبر من الصفر

=DLast("[txtin]";"t_1";" [txtname]=[forms]![f_ksf]![txtname] ") + DLast("[txtout]";"t_1";" [txtname]=[forms]![f_ksf]![txtname] ")

والنتيجة مضمونة

اقتراح للتقليل من حجم قاعدة البيانات:

يمكن التقليل من حجم قاعدة البيانات بالتخلص من حقل نوع الحركة والاعتماد على موقع مبلغ الحركة، فإن كان في حقل الإيداع فالحركة إيداع وإن كان في حقل الصرف فالحركة صرف.. (كما في المثال المرفق)

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

تحياتي لكم

مثال على استبدال قيمة حقل بشرط.rar

تم تعديل هذه المشاركة بواسطة عبيدالله في 10 مارس 2011 في 14:09

#5

يعطيكم العافية على التوضيح والتعديل ...

أخي عبيد الله أقتراحاتك مفيدة جدا .. وفعلا كنت أفكر فيها .. لكن سبق السيف العذل ...

انا وجدت حل آخر لما كنت أبحث عنه ( ومن له حيلة فليحتل ) : انظر المرفق .

مثال على استبدال قيمة حقل بشرط2.rar

mk17481_26bccea871.gif
#6
فتى الوادي كتب:

( ومن له حيلة فليحتل ) : .

كلام جميل ..

ممكن اختصار جميع الأكواد المستخدمة الى

null

والتعويض عنها بجملة SQL في الاستعلام الخاص بمصدر السجلات

SELECT t_1.txtname, t_1.txtkin, t_1.id AS [Last ID], [txtout]+[txtin] AS txtlastm
FROM t_1
WHERE (((t_1.id) In (Select max(t_1.id) from t_1 group by t_1.txtname)));

هناك ملاحظة مهمة لم تذكر ..

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

تحياتي ..

مثال على استبدال قيمة حقل بشرط1.rar

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 10 مارس 2011 في 19:02

27169617.gif
#7

كلامك نور على نور اخي ابو عدنان ..

ماذا أستخدم للحقول التي طبيعتها رقمية ؟!

mk17481_26bccea871.gif
#8
فتى الوادي كتب:

كلامك نور على نور اخي ابو عدنان ..

ماذا أستخدم للحقول التي طبيعتها رقمية ؟!

الله ينور عليك أخي العزيز فتى الوادي ..

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

1- بايت - تخزن به ارقام صحيحية فقط من صفر الى 255

2- عدد صحيح - تخزن به أرقام صحيحة فقط قيمتها من صفر الى 32768

3- عدد صحيح طويل تخزن به أرقام صحيحة فقط قيمتها من صفر الى 2147483648

4- مزدوج - تخزن به أرقم صحيحة وعشرية حتى 7

5- فردي - تخزن به أرقم صحيحة وعشرية حتى 15

وفي مثالك استخدم النوع مزدوج للحقول txtin و txtout

تحياتي ..

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 11 مارس 2011 في 14:59

27169617.gif

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

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

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

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

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