سلام و خسته نباشید خدمت اساتید
من یک دیتابیس اکسس دارم از نوع DataGrid که میخام با کلیک روی دکمه ای توی فرم، اعداد ستون دوم اون جمع و در textbox نمایش داده بشه
خیلی توی سایتهای خارجی گشتم اما به جایی نرسیدم
ممنون میشم اگه کمک کنین
VB6
سلام و خسته نباشید خدمت اساتید
من یک دیتابیس اکسس دارم از نوع DataGrid که میخام با کلیک روی دکمه ای توی فرم، اعداد ستون دوم اون جمع و در textbox نمایش داده بشه
خیلی توی سایتهای خارجی گشتم اما به جایی نرسیدم
ممنون میشم اگه کمک کنین
VB6
آخرین ویرایش به وسیله vbhamed : جمعه 29 خرداد 1394 در 00:17 صبح
سلام
Adodc1.RecordSource="SELECT Sum(نام ستون دوم) AS JamKol FROM نام جدول"
text1.text=Adodc1.Recordset.Fields("JamKol")
دوست خوبم ممنون اما این پیغام رو میده وقتی ران میکنم
Item cannot be found in the collection corresponding to the requested name or ordinal
دیباگر از خط دوم خطا میگیره
آخرین ویرایش به وسیله vbhamed : جمعه 29 خرداد 1394 در 00:17 صبح
سلام مجدد اینطوری اصلاح کن کد رو
Adodc1.RecordSource="SELECT Sum(نام ستون دوم) AS JamKol FROM نام جدول"
َAdodc1.Refresh
text1.text=Adodc1.Recordset.Fields("JamKol")
خیلی ممنون. کاملا عالی
حالا من هی سوالام بیشتر میشه ببخشید!
دو تا مشکل کوچیک هست فقط! یکیش اینکه وقتی روی دکمه جمع کلیک میکنم و کد اجرا میشه بخاطر سطر دوم، تمام اطلاعات دیتاگرید روی فرم رو محو میکنه.
و دوم اینکه من تکس باکس هایی توی فرم دارم که وقتی متن توش تایپ میکنم دیتا گرید رو فیلتر میکنه. با این کد :
ado.RecordSource = "Select *from phone where family='" & Text2.Text & "'"
مثلن اگه کلا 5 تا رکورد وجود داشته باشه وقتی فیلترش میکنم، 2تا رکورد توی دیتاگرید نشون میده و در نهایت روی دکمه جمع زدن که کلیک میکنم، میخام جمع همون 2 تا رکورد فیلتر شده توی دیتاگرید رو نشون بده اما با این کد جمع همون 5 تا رکورد کلی رو نشون میده
سلام مجدد
سوال اولتون رو متوجه نشدم
اما برا سوال دوم جون شما برای جستو جو از شرط where استفاده کردید برای جمع زدن هم باید اون شرط رو توی کد جمع کردن استفاده کنید وگر نه همه جدول در نظر گرفته می شه
Adodc1.RecordSource="SELECT Sum(نام ستون دوم) AS JamKol FROM نام جدول where family='" & Text2.Text & '"
َAdodc1.Refresh
text1.text=Adodc1.Recordset.Fields("JamKol")
آخرین ویرایش به وسیله ahmad abdoli : شنبه 30 خرداد 1394 در 23:57 عصر دلیل: ویرایش کد
دوست عزیز کد زیر رو کپی کن توی Command باکسو مولفه هاشم رعایت کنن
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
For i = 1 To Adodc1.Recordset.RecordCount
jam = jam + Val(DataGrid1.Columns(3).Text)
Adodc1.Recordset.MoveNext
Next
Label2.Caption = jam
Adodc1.Recordset.MoveFirst
Else
Label2.Caption = "0 ريال"
End If
این روش اصلا بدرد نمیخوره واسه اطلاعات زیاد باید یک ساعت فقط از بالا تا پایین رو چک کنه.
با sql بهترین حالت ممکنه رو داره
آخرین ویرایش به وسیله vbhamed : یک شنبه 18 مهر 1395 در 08:57 صبح
آخرین ویرایش به وسیله vbhamed : یک شنبه 18 مهر 1395 در 08:57 صبح