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

الجمع في Datagrid

بدأه ابو مرام في 20 أكتوبر 2009 · 8 رد · 1,148 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

If db.State = adStateOpen Then db.Close

db.Provider = "Microsoft.jet.oleDB.4.0;"

db.Open (App.Path & "\DB1.mdb")

S = "select sum(A11) from G2"

If Rs.State = adStateOpen Then Rs.Close

Rs.Open S, db, adOpenDynamic, adLockOptimistic

Text5.Text = Rs.Fields(0)

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

الاسم الاجر اليومي

100 محمد

200 سالم

100 محمد

150 سالم

----------------------------

550 المجموع

عندما افلتر محمد من المفترض ان يظهر TEXT5 =200 ريال لكن البلغ يبقى خمسمائه قبل الفلتره وبعدها اتمنى ان اجد لديكم طريقه لحل هذه المشكله محتاجها ضروري جدا جداً

كيف اجعله يحدث بعد الفلتره

تم تعديل هذه المشاركة بواسطة ابو مرام في 20 أكتوبر 2009 في 23:47

#2

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

sqls = "select sum(A11) as total from G2 where name = '" & Me.Text1 & "'"
If rs2.State = adStateOpen Then rs2.Close
rs2.Open sqls, db, adOpenKeyset, adLockPessimistic
rs2.MoveFirst
Me.text5 = rs2.Fields("total")

حيث text1 حقل ستدخل فيه الاسم الذي تريد فلترته

#3

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

اتمنى ان تطلع على الصور فانا وضعت الكود التالي في لود

كما يتضح

Private Sub Form_Load()

If db.State = adStateOpen Then db.Close

db.Provider = "Microsoft.jet.oleDB.4.0;"

db.Open (App.Path & "\DB1.mdb")

S = "select sum(A11) from G2"

If Rs.State = adStateOpen Then Rs.Close

Rs.Open S, db, adOpenDynamic, adLockOptimistic

Text5.Text = Rs.Fields(0)

الجمع طبعاً في خانة Text5

كود الفلتر انا وضعته في زر اخر وهذا لا اشكاليه

المشكله لو التوتل الي هو TEXT5 = 35

فانه بعد الفتره يبقى 35 انا اتمنى ان يتحدث طبقاً للفلتره

هل تستطيع وضع كود مع الكود اعلاه يحدث التكست 5 بعد الفلتره اكون شاكر

اتمنى تشاهد الصوره يمكن يتضح الامر

post-115737-1256128942_thumb.jpg

post-115737-1256128956_thumb.jpg

post-115737-1256128974_thumb.jpg

#4

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

في الكود الخاص بالفلترة والذي هو اعادة لنفس العملية في from load ولكن بشرط

معين فيمكن اضافة في بداية الكود

me.text5 = ""

ماهو الكود الذي تستخدمة للفلترة

#5

Me.Text5 = ""

On Error GoTo h

Dim bahas As String

bahas = InputBox("ãä ÝÖáß ÇÏÎá ÇáÑÞã ÇáÚÇã")

DB1.rsG2.MoveFirst

DB1.rsG2.Filter = "A14 like '" & bahas & "'"

الله يعطيك العافيه والصحه

هذا كود الفلتر

المشكله في صندوق TEXT 5

انه يجمع من القاعده وانا اتمنى ان يجمع من الداتا قريد

سامحني اتعبتك

#6

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

اخي ابو مرام

الفكرة بسيطة انت في كود التحميل اضفت كود عام لعرض الجدول

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

وهي نفس الجملة في كود التحميل ولكن ادخل شرط الفلترة فيها وبالتالي

سيعطيك المجموع حسب الشرط المدخل

S = "select sum(A11) from G2 where A14 = '" & bahas & "'"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open S, db, adOpenDynamic, adLockOptimistic
Text5.Text = Rs.Fields(0)
#7

والله يا اخي انا اسف جداً جداً

انا برفع لك المشروع وامل ان تعمله بطريقتك

اسأل الله الا يحرمك الاجر وان يوفقك في الدارين الدنيا والاخره

بالنسبه TEXT5 فكرته انه اذا كان مجموعه يزيد عن 10 ما يضيف سجل

طبعاً البحث والفلتر في Option1 فعند الضغط يظهر ادخال الرقم

سامحني

_______GDED.rar

#8

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

ارفقت تعديل على المجموع الصحيح حسب الجدول بعد الفرز

وفقط في اختيار عرضية الاخرى اي العادية نفس الطريقة

وبالنسبة للمجموع اكبر من عشرة غدا اكمله لاني مشغول ياصديقي

بالتوفيق

vv.rar

#9

اللهم اجزل من علمني خير الاجر والثواب اللهم اعطه حتى يرضى وزد في نعماءه ووفقه لما تحب وترضى

لقد وصلت للحل عن طريقك

سامحني اخي غلبتك

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

الله يجزاك خير وينفع بعلمك ويوفق

مشكور

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