• 0
فتى الوادي

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

سؤال

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

لدي جدول :

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

7 إجابة على هذا السؤال .

  • 0

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

استخدم نفس الطريقة وحاول معرفة قيمة الحقل اذا كان 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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

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

تحياتي لكم

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

تم تعديل بواسطه عبيدالله
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

كلام جميل ..

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

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

تم تعديل بواسطه محمد أبو عدنان
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

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

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

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

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

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

تحياتي ..

تم تعديل بواسطه محمد أبو عدنان
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .