View Full Version : سوال: جمع یک ستون از دیتاگرید
mostafag
پنج شنبه 16 دی 1389, 20:32 عصر
سلام دوستان
مثلا من یک ستون عددی دارم حالا میخوام جمع این ستون رو داخله یه label نشون بدم!!!!
من در مورد این تاپیک خیلی جستجو کردم و دو تا روش رو پیدا کردم :عصبانی++:
یکی استفاده از این روش:
Adodc1.Recordset.MoveFirst
For i = 1 To Adodc1.Recordset.RecordCount
jam = jam + Val(DataGrid1.Columns(1).Text)
Adodc1.Recordset.MoveNext
Next
Label1.Caption = jam
Adodc1.Recordset.MoveFirst
و یکی هم استفاده از این کد:
Adodc1.RecordSource = "SELECT SUM(field) FROM tabblename"
عیب روش اول اینه که سرعت پایینی داره و فکر میکنم کار معقولی نباشه که ازش استفاده کرد!!!
اما در روش دوم مشکل من اینجاست که حالا من بعد از این کد چطوری میتونم این جمع بدست اومده رو داخل یک مثلا label نشون بدم!!
متاسفانه هر کار کردم و هر چی جستجو کردم به نتیجه نرسیدم
(از مدیران خواهش میکنم این تاپیک رو حذف نکنن چون من هر چی جستجو کردم کسی پاسخ این سوال رو نداده بود!!! :اشتباه: )
با تشکر از دوستانی که پاسخ میدن :لبخندساده:
mostafag
جمعه 17 دی 1389, 07:20 صبح
دوستان خواهش میکنم اگه چیزی میدونید بگید!!
من خیلی به این کد نیاز دارم با تشکر از همه دوستان برنامه نویس.
akbarg64
جمعه 17 دی 1389, 10:09 صبح
سلام.اول روی اون فرمت یه لیبل که میخوای نشون بدی ایجاد میکنی.بعد این کد رو توی form load مینویسی
Adodc1.RecordSource = " select sum (Mablagh) as B from (Daryaftani)"
Adodc1.Refresh
حالا Datafiled اون لیبل رو بزار B.در این مثال من فیلد Mablagh رو از تیبل Daryaftani با هم جمع کردم.موفق باشید
mostafag
جمعه 17 دی 1389, 10:56 صبح
ممنون از پاسختون دوست عزیز
اما من وقتی این کد رو نوشتم و بعد datafiled لیبیل رو با b قرار دادم اول این خطا رو گرفتم:
Syntax error FROM calue
و بعد از اون این خطا رو گرفتم
Method 'Refresh' of object 'IAdodc' failed
حالا اگه یه توضیحی بدید خیلی ممنون میشم.
اون B چیه؟؟ چه کاری انجام میده
اگر میتونید یه نمونه برنامه ساده قرار بدید
akbarg64
جمعه 17 دی 1389, 13:47 عصر
سلام.به اون B میگن فیلد مجازی.این ارور یه علتش میتونه این باشه که اتصال به دیتا بیس انجام نشده.راستی دیتا سورس رو هم ست کردی یا نه.اگه مشکلت حل نشد اون قسمت رو بزار تا درستش کنم واست.موفق باشید.
mostafag
جمعه 17 دی 1389, 15:55 عصر
سلام دوباره
ببینید، من از Adodc و datagrid برای نمایش جدول استفاده میکنم!!
و دیتابیس رو به صورت اتوماتیک ست میکنم!!!
اما نمیدونم چرا توی برنامم وقتی این کد رو داخل دکمه یا فرم لود مینویسم این خطا رو میگیرم و وقتی توی یه پروژه جدید (و معمولی) که بعدا درست کردم و الان ضمیمه کردم کد رو مینویسم هیچ پیغامی دریافت نمیکنم!!!
به طور خلاصه وقتی کد رو در برنامه اصلیم نوشتم خطا گرفتم و وقتی در این برنامه که ضمیمه کردم مینویسم داخل label چیزی نوشته نشد و جواب داخل دیتا گرید نوشته شد!!
حالا اگه میدونید اشکال از کجایه دریغ نکنید لطفا!!
با تشکر
64681
akbarg64
جمعه 17 دی 1389, 19:14 عصر
سلام.ببین یا باید با روش ویزارد اتصال رو انجام بدی یا با روش کد نویسی.اما از هر دو روش نمیشه استفاده کرد.احتمالا این مشکل بوجود اومده.خب اینجوری هم منکه نمیتونم اظهار نظر کنم.خود باید ببینی مشکل از کجا بوده.چون منکه دسترسی ندارم.موفق باشید
mostafag
جمعه 17 دی 1389, 23:06 عصر
خیلی ممنون دوست عزیز
برای برنامه خودم سعی می کنم مشکل رو حل کنم!
اما اگه میشه نگاهی به نمونه ای که گذاشتم بندازید، من از ویزارد استفاده کردم!
اما وقتی مثلا روی دکمه کلیک میکنم جواب داخل دیتاگرید نشون داده میشه در حالی که Datafiled لیبل رو هم با B مقدار دهی کردم اما هیچی داخل لیبل نشون نمیده و تمام دیتاگرید پاک میشه و بجاش یک فیلد میاد و جواب رو داخل دیتاگرید مینویسه!!!
باید چیکار کنم!!
akbarg64
شنبه 18 دی 1389, 12:04 عصر
خیلی ممنون دوست عزیز
برای برنامه خودم سعی می کنم مشکل رو حل کنم!
اما اگه میشه نگاهی به نمونه ای که گذاشتم بندازید، من از ویزارد استفاده کردم!
اما وقتی مثلا روی دکمه کلیک میکنم جواب داخل دیتاگرید نشون داده میشه در حالی که Datafiled لیبل رو هم با B مقدار دهی کردم اما هیچی داخل لیبل نشون نمیده و تمام دیتاگرید پاک میشه و بجاش یک فیلد میاد و جواب رو داخل دیتاگرید مینویسه!!!
باید چیکار کنم!!
سلام.من نمونه رو دانلود كردم.اما چون دانشگاه بودم نمي تونستم جوابتو بدم.شب واست درستش ميكنم.موفق باشيد.
akbarg64
شنبه 18 دی 1389, 16:30 عصر
سلام.اینم نمونه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.