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

ايجاد مجموع حقل معين

بدأه abosaad54 في 27 أكتوبر 2009 · 14 رد · 2,498 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اعمل على vb.net 2005 وقاعدة بيانات اكسيس لدي برنامج لتقسيط الديون واحترت في مسألة جمع الاقساط الواصلة ووضعها في label

والمطلوب : كود يجمع حقل قيمة القسط بشرط ان يكون مجموع هذا الحقل يخص عقدا واحدا معينا وكلما ضغط زر الانتقال يتغير محتوى الـ label حسب رقم العقد

وياليت من له الخبرة ان يضع لي مثالا بسيطا لانني بصراحة تعبت من قراءة الكتب والمنتديات وتجميع الافكار من هنا وهناك لحل هذه المسألة ولم استطع مع انها كانت سهلة بالنسبة لي في الـ vb.6

ارجو المساعدة العاجلة وشكرا

تم تعديل هذه المشاركة بواسطة abosaad54 في 27 أكتوبر 2009 في 11:24

سبحان الله وبحمده عدد خلقه وزنة عرشه ومداد كلماته

#2

السلام عليكم

جرب الكود ده يا أخى العزيز

Dim I As Integer

I = 0



Cmd.CommandText = "select * from Table1"

DR = Cmd.ExecuteReader

Tbl1.Reset()

Tbl1.Clear()

Tbl1.Load(DR)

For R = 0 To Tbl1.Rows.Count - 1

Rec = Tbl1.Rows(R)

If Rec("Code") = TextBox1.Text Then

I = I + Val(Rec("Amount"))

End If

Next

DR.Close()
Label1.Text = I

مع العلم إن tbl1 عبارة عن متغير يحمل بيانات جدول

والمتغير Rec عبارة عن حامل لبيانات صف من جدول

ويتم تعريفهم كما يلى

public Tbl1 as new DataTable

Public Rec as DataRow

جرب هذا الكود الذى يعود لك بقيمة جمع قيم الأقساط

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

اللهم إنى أتيت بابك مستغفراً فإن غفرت لى وأدخلتنى فأنت أهلٌ لذلك

وإن لم تغفر لى وطردتنى فأنا أهلٌ لذلك

#3

الله يرضى عليك ويزيدك من العلم النافع

ياليت شوي من الشرح حتى نستفيد

وشكرا جزيلا

سبحان الله وبحمده عدد خلقه وزنة عرشه ومداد كلماته

#4

السلام عليكم

هذا هو شرح الكود

Dim I As Integer
I = 0
'هذا متغير قمنا بإنشائه ليحمل مجموع الأقساط
Dim R As Integer
'وهذا متغير رقمى سنحتاجة
Cmd.CommandText = "select * from Table1"
'هذا كائن يحمل جمل إستعلام حيث الجملة تقول حدد كل الحقول من الجدول(وتكتب هنا إسم الجدول الذى يحمل بيانات الأقساط)

DR = Cmd.ExecuteReader
'وهنا أقول لقارئ البيانات إقرأ ونفذ الأمر اللذى بالكائن الذى يحمل جمل الإستعلام

Tbl1.Reset()
'أقول لحامل بيانات الجدول أن يقوم بعمل ريست
Tbl1.Clear()
'وهنا أجعله خالى من البيانات لكى يحمل بيانات من جديد حيث من الممكن أن يكون ممتلئ من قبل

Tbl1.Load(DR)
'وهنا أجعله يحمل البيانات التى قرأها قارئ البيانات 

For R = 0 To Tbl1.Rows.Count - 1
'وهنا نقول للمتغير الرقمى R أن يقوم بفعل أمر معين بعدد مرات تساوى من صفر إلى عدد سجلات الجدول اللذى يحمله المتغير Tbl1

Rec = Tbl1.Rows(R)
'وأقول هنا للمتغير الذى يحمل صف من البيانات أن يحمل الصف الذى يقف عليه المؤشر فى الجدول 

If Rec("Code") = TextBox1.Text Then
'إذا كان حقل الكود مساويا لقيمة التكست بوكس إفعل هذا الأمر
I = I + Val(Rec("Amount"))
'ضع القيمة التى يحتوى عليها حقل الأمونت أو المبلغ بتاع القسط داخلا المتغير I وإجمعة على قيمة I الأصلية
'ويتكرر هذا الكود كلما يتساوى كود العميل مع قيمة التكست بوكس معنى هذا أنه يقوم بجمع قيم الأقساط التى لها علاقة بالعميل الذى كوده كذا
End If
Next
DR.Close()
'وهنا أغلق قارئ البيانات
Label1.Text = I
'وهنا أضع قيمة المتغير I فى اليبل1 لكى يكون به مجموع الأقساط أو مجموع القيم التىتبحث عنها

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

يارب تكون فهمت ويفيدك الكود ده

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

اللهم إنى أتيت بابك مستغفراً فإن غفرت لى وأدخلتنى فأنت أهلٌ لذلك

وإن لم تغفر لى وطردتنى فأنا أهلٌ لذلك

#5

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

شكرا اخي حسام شرح رائع سوف أجرب الكود واخبرك

اخي هناك سؤال اخر متعلق بنفس الموضوع :

لواردت معرفة عدد الاقساط الواصلة وكذلك أعلى رقم في الحقل ( Max) فما الكود الذي ينفع لذلك

شكرا مرة اخرى

تم تعديل هذه المشاركة بواسطة abosaad54 في 28 أكتوبر 2009 في 09:03

سبحان الله وبحمده عدد خلقه وزنة عرشه ومداد كلماته

#6

السلام عليكم

مش فاهم والله يا أخى تقصد ايه بالأقساط الواصلة

وموضوع أعلى قيمة فى الحقل ده سهل جدا

للأسف أنا مش عارف إنت مش بتتعب نفسك ليه بشوية تفكير صغيرة

نفس الكود اللى فات

هتعمل تعديل فيه بدل ماتسأل حقل الكود يساوى رقم العميل لأ هتسأل

هل قيمة المتغير I أقل من القمية الموجودة بحقل القسط ؟

لو أقل منها

هتخلى الـ I تساوى القسط

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

لم أقم بكتابة الكود ولكن قم بتعديله أنت على الكود السابق

لو مش واضح قولى

وأنا هفهمك أكتر

بس ياريت تحاول إنت الأول قبل ماتسأل بجد علشان تقدر تطور من نفسك

لازم تحاول ولما ماتقدرش تسأل لازم تتعب نفسك شوية

ماشى ؟؟؟

أنا أسف بس بجد ده لمصلحتك

وطبعا أنا تحت أمرك

فى أى سؤال أو توضيح أخر

وياريت ترد عليا وتوضحلى موضوع الأقساط الواصلة أنا فى إنتظارك لكى أقدم لك ما بوسعى

بالتوفيق إن شاء الله

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

اللهم إنى أتيت بابك مستغفراً فإن غفرت لى وأدخلتنى فأنت أهلٌ لذلك

وإن لم تغفر لى وطردتنى فأنا أهلٌ لذلك

#7

اولا اشكرك على النصيحة بس تعرف من كثرة الاكواد والدوارات الواحد يلخبط شوية وانا مشروعي جاهز بس يحتاج بعض الاضافات مثلا يكون عدد الاقساط 72 قسط اريد معرفة عدد الاقساط التي سددت واريد مجموع المبالغ التي وصلت عن طريق جمع قيم حقل قيمة القسط وهو الموضوع الحالي الذي افدتني فيه جزيت خيرا وسأحاول تجربة الكود السابق لمرفة اعلى رقم كما ارشدتني مشكور ا

وانا يااخي حسام جديد على Vb.net 2005 و اتعلم وابذل جهودا لكن لااستغني عن التوجيه والارشاد ولفت الانتباه لما يفوتني من ا فكار مهما كانت بسيطة بانسبة للخبراء

وبالمناسبة عند تطييق الكود السابق ظهر لي رسالة تقول : لم يتم تهيئة الخاصية DR = Cmd.ExecuteReader فلا اعرف مالمقصود بالتهيئة

ارجو التكرم بمساعدتي

وشكراجزيلا

سبحان الله وبحمده عدد خلقه وزنة عرشه ومداد كلماته

#8

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

يمكنك تنفيذ جملة الاستعلام التالية للحصول على مجموع أقساط العقد

"Select Sum(Value) From Loans Where Contract_No = " & CInt(txtContractNo.Text)

أما للحصول على عدد الأقساط فيمكنك الحصول عليها بتنفيذ الاستعلام التالى

"Select Count(*) From Loans Where Contract_No = " & CInt(txtContractNo.Text)

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#9

احسنت اخي المشرف GHOST2010 نعم هذه الاكواد المطلوبة جزاك الله خيرا وهي قريبة مما تعودت عليه في Vb.6 وقد جربتها وجاءت بالمطلوب لا حرمك الله مما تحب

كما اود ان اشكرك اخي حسام على مجهودك الرائع وهو مفيد لي كذلك وسأستفيد منه كثيرا

هناك سؤال بسيط لك يااخي المشرف هو : مافائدة الدالة CInt في موقعها من الكود ارجو الاجابة

و شكرا جزيلا على مساعدتكم

تم تعديل هذه المشاركة بواسطة abosaad54 في 28 أكتوبر 2009 في 21:05

سبحان الله وبحمده عدد خلقه وزنة عرشه ومداد كلماته

#10

إيه الحلاوة ديه يا جوست هى ديه الإحترافية

أنا مش عارف إزاى الكود ده غاب عنى مع إنى كنت واخده من زمان بس كنت بحسب الأكواد ديه خاصة بفيجوال بيسيك 6 فقط

محاولتش أجربها فى الدوت نت

بس أكواد جايبة الخلاصة

ههههههههههههههههههههههههههههههههه :lol:

مش الأكواد بتاعتى 300 سطر وعمال أشرح فيهم وتاعب قلبى بقالى يومين

ههههههههههههههههههههههههههههههههه :lol:

وأقول للراجل شغل مخك وقربت أضربة بالخرزانة

وفى الأخر طلع الموضوع فى سطر واحد فقط :blush:

العبارة فى الشكارة :wub:

ههههههههههههههههههههههههههههههههه

:lol:

المفروض أستاذنا جوست يذنبنى 3 أيام من غير أكل ولا شرب عقابا ليا

على الكود اللى أنا قولته ده :blush: -_- :wub: :wacko: :huh:

على فكرة يا أبو سعد أنا كمان لسة جديد على دوت نت 2005 انا بس كنت بنصحك لأنى إعتقدت إنك بتسأل من غير ماتفكر فى الحل فا كنت بقولك حاول مجرد المحاولة إنك تفكر الأول قبل ماتسأل علشان تحس بمتعة البرمجة

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

أنا أسف طبعا لو كان كلامى حاد بس والله بجد أنا لا أقصد غير النصيحة لوجه الله لأننا كلنا إخوة

وعلى فكرة أنا مبرمج مبتدأ لسة وده باين من الكود بتاعى اللى انا إديتهولك

أنا أسف يا أستاذ جوست

وخلى بالك لو عاقبتنى هنام على العزومة

علشان تبقى عارف :wink:

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

اللهم إنى أتيت بابك مستغفراً فإن غفرت لى وأدخلتنى فأنت أهلٌ لذلك

وإن لم تغفر لى وطردتنى فأنا أهلٌ لذلك

#11

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

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

سبحان الله وبحمده عدد خلقه وزنة عرشه ومداد كلماته

#12
اقتباس
مافائدة الدالة CInt في موقعها من الكود ارجو الاجابة

فائدة الدالة CInt أنها تحول القيمة الحرفية String إلى قيمة من النوع Integer حيث أن رقم العقد عدد صحيح وليس متغير حرفى ويمكنك الاستغناء عنها إن أردت

أما بالنسبة لحسام باشا فعقابك هو العزووووومة :D

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#13

ماشاء الله عقاب جميل وشكرا جزيلا لك يااستاذ غوست وان شاء الله تتهنوا بالعزومة

سبحان الله وبحمده عدد خلقه وزنة عرشه ومداد كلماته

#14

هههههههههههههههههههههههه

والله أنا ليا الشرف يا جوست

والله بجد أنا ليا الشرف إنى دخلت المنتدى ده وإشتركت فيه

وعرفت أصحاب كويسين وأهل خير زيكم

يعنى Cint ديه بدل العلامات

"'" & textbox1.text "'"

صح ؟

تم تعديل هذه المشاركة بواسطة Hossam8749 في 31 أكتوبر 2009 في 09:16

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

اللهم إنى أتيت بابك مستغفراً فإن غفرت لى وأدخلتنى فأنت أهلٌ لذلك

وإن لم تغفر لى وطردتنى فأنا أهلٌ لذلك

#15
اقتباس
يعنى Cint ديه بدل العلامات

"'" & textbox1.text "'"

صح ؟

لا غير صحيح

CInt تقوم بتحويل المتغير من أى نوع إلى متغير من النوع Integer إن كان النوع الأول يدعم عملية التحويل

- بمعنى -

أن المستخدم لو كتب فى مربع النص الرقم 5 فإن الخاصية Text ستعيد القيمة "5" وهى قيمة حرفية وليست رقمية لذلك استخدمنا الدالة CInt لتحويلها إلى قيمة رقمية أى إلى القيمة 5

كما قلت سابق تستطيع الاستغناء عنها إن أردت فى هذا المثال وماشابهه

لكن فى حالات أخرى قد تحدث مشكلة بسبب عدم تحويل البيانات إلى النوع المناسب

أرجو أن تكون المسألة واضحة وأى استفسار أنا فى الخدمة

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

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