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

مشكلة اظهار الرصيد في تقرير بحركات العميل

بدأه rafeek633 في 21 يناير 2011 · 5 رد · 1,013 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد اظهار الرصيد في تقرير حركة العميل

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

وحقول الجدول [qCusMov] كالأتي :

dat - BillId - MoveType - Mden - Daen - Bal

وهذا هو الكود :

Cmd.CommandText = "select * from [qCusMov] order by [dat]"

Dr = Cmd.ExecuteReader

Dim Bal As Double

Do While Dr.Read

Bal = Bal + (Val(CDbl(Dr("mden"))) - Val(CDbl(Dr("daen"))))

Cmd1.CommandText = "update [qCusMov] set bal='" & Bal & "' where [dat]=#" & Dr("dat") & "#"

Cmd1.ExecuteNonQuery()

Loop

Dr.Close()

جربت الكود على الجدول وبه سجلين

بتاريخين هما 20-1-2011 & 21-1-2011

ملحوظة : عند تجربة البرنامج خطوة خطوة بمفتاح f10 يتم التنفيذ بدون أية مشاكل ولكن مع التشغيل العادي لا يحدث شئ ولا حتى تظهر رسالة خطأ ، ارجو الحل لأني فاضلي شويه واتجنن ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

تم تعديل هذه المشاركة بواسطة rafeek633 في 21 يناير 2011 في 18:16

#2

عليكم السلام

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

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

C# حبيبتي

#3
رفيق الامل كتب:

عليكم السلام

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

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

السلام عليكم

متشكر جدا على ردك أخي ، ولكن التاريخ ليس بمشكلة لأني أضيف التاريخ والوقت معاً وأيضاً انا أجرب الكود على سجلين اثنين فقط والتاريخين مختلفين تماماً

والمشكله عندي هنا ان الكود لا يقوم بالتعديل في حقل الرصيد أبداً.. حيث لا يحدث تغيير في حقل الرصيد في أي سجل !!

#4
rafeek633 كتب:

السلام عليكم

اريد اظهار الرصيد في تقرير حركة العميل

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

وحقول الجدول [qCusMov] كالأتي :

dat - BillId - MoveType - Mden - Daen - Bal

وهذا هو الكود :

Cmd.CommandText = "select * from [qCusMov] order by [dat]"

Dr = Cmd.ExecuteReader

Dim Bal As Double

Do While Dr.Read

Bal = Bal + (Val(CDbl(Dr("mden"))) - Val(CDbl(Dr("daen"))))

Cmd1.CommandText = "update [qCusMov] set bal='" & Bal & "' where [dat]=#" & Dr("dat") & "#"

Cmd1.ExecuteNonQuery()

Loop

Dr.Close()

جربت الكود على الجدول وبه سجلين

بتاريخين هما 20-1-2011 & 21-1-2011

ملحوظة : عند تجربة البرنامج خطوة خطوة بمفتاح f10 يتم التنفيذ بدون أية مشاكل ولكن مع التشغيل العادي لا يحدث شئ ولا حتى تظهر رسالة خطأ ، ارجو الحل لأني فاضلي شويه واتجنن ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

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

هو مكان تعرف كائن cmd1 لأنه في حال التكرار لن ينفذ إلا مره واحده للذلك ضع تعريف الكائن Cmd1 داخل التكرار

لأني أتوقع لديك سجل يتم قراءته في البداية ولا يؤثر على الرصيد

أتمنى يكون هذا هو الحل ولو لم تحل المشكلة فلابد علي حينها من فهم الكود الذي كتبته

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

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

ولا تنزعج فهذا حالنا جميعا نحن العرب وأنا أولهم يعجبني كثيرا البرامج والشفرات التي بالمواقع الأنجليزية

بصراحة تفهم الكود في دقائق معدودة ....

أعتذر على الأسهاب ولكن أردت أن أحكي واقع نعيشه ولا نريد أن نغيره ..

تقبل مروري

تم تعديل هذه المشاركة بواسطة روبوت في 23 يناير 2011 في 02:04

#5

السلام عليكم

بالرغم من اني ارى ان الكود بسيط جدا ولا يحتاج الى ترتيب

لكني متشكر جدا على رأيك أخ روبوت ، وفعلاً عندك حق لابد من الترتيب حتى ولو الكود بسيط ، وان شاء الله هاحاول جاهداً اني اضطلع على اكواد منظمة واتعلم منها

الانسان هايفضل يتعلم لحد ما يموت ........... وانا يادوب في اول السكة

شكراااااااااا

#6

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

اممممم ،،

dat - BillId - MoveType - Mden - Daen - Bal

Date - DocID - DocType - Depit - Credit -Balance - BalType

-سوف أفرض ان هذا الجدول مملوئ بالبيانات وان العمودين -Balance - BalType فارغيين

ما عليك سوى ببساطة ان تنشأ Procedure يقوم بعمل Update لل Balance and BalType

او ان كان يخزن المستندات في هذا الجدول عليك بعمل Triggers

عندها اجلب البيانات بشكل سليم وافصل بين الاوامر التي تتم على البيانات وبين البرنامج

اسهل واضمن في اكتشاف المشاكل وسرعة في تطوير النظام وتحسين عمله وادائه

اي مساعدة حاضر

52gv0m.gif

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

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

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

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

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