ورود

View Full Version : جمع اطلاعات چند رکورد



ehsanocx
پنج شنبه 17 شهریور 1390, 11:52 صبح
سلام
دوستان من با این کد مبلغ فیلدهایی که توی datagrid نمایش میده رو با هم جمع می کنم و توی یک لیبل نمایش می دم.

Dim Sum1 As Long, StrSQl As String

StrSQl = "select sum(Mablagh)as sum1 from Peimankar where code = " & FrmMain.Adodc1.Recordset.Fields("Code")
Adodc3.RecordSource = StrSQl
Adodc3.Refresh
lblMablaghKol.Caption = Adodc3.Recordset.Fields("sum1")
اما می خوام
من وقتی جستجو می کنم مثلا 2 تا فیلد نمایش داده میشه توی Datagrid می خوام مجموع اون 2تا فیلدرو نمایش بده.
اگر یک فیلد رو نشون داد مبلغ همون یک فیلد رو توی مبلغ کل نمایش بده.
امید وارم منظورم رو رسونده باشم
ممنون میشم راهنماییم کنید

ALIMAHDE54
پنج شنبه 17 شهریور 1390, 13:14 عصر
از دوستان کسی اگه میدونه چطور میشه این کار رو انجام داد راهنمای کنه من هم در این مورد اشکال دارم اگه دوستان میتونن راهنمایی کنن

M.T.P
پنج شنبه 17 شهریور 1390, 13:34 عصر
شما در چه صورتی رکوردهای دیتاگریدتون یک یا بیشتر میشه؟
اگه کد جستجو و جمع بندیتون همینه که در سوالتون گذاشتید که درسته اما اگه کد دیگه ای واسه جستجو کردن دارید ، بگزارید تا بررسی بشه.

اما در خصوص متغیری که به شکل زیر تعریف کردید


Dim Sum1 As Long
این متغیر هیچ استفاده ای در کد شما نداره و Sum1 که در دستور Sql نوشتید یک فیلد است که در زمان جمع بندی ایجاد و مجموع رو نگهداری میکنه و پس از بستن رکوردست عمر این فیلد هم تموم میشه.

ehsanocx
یک شنبه 20 شهریور 1390, 13:09 عصر
بله Sum1 یک متغییر موقت برای نگهداری اطلاعات

توی دیتا گرید اطلاعات رو نشون میده در حالت اصلی
اما وقتی جستجو انجام میشه ، متناسب با کلمه مورد جستجو
رکورد نشون میده توی دیتا گرید. مثلا کلمه احسان جستجو کنی 3 تا پیدا فرض پیدا می کنه

ehsanocx
یک شنبه 20 شهریور 1390, 13:13 عصر
7517275171

ehsanocx
یک شنبه 20 شهریور 1390, 13:17 عصر
M.T.P (http://barnamenevis.org/member.php?132020-M.T.P) توی عکس اول جمع متراژ و مبلغ کل رو نشون میده چون چند تا فیلد توی دیتا گرید هست همه رو جمع می کنه و مجموع رو مینویسه درسته

اما توی عکس دوم من یک فیلد بیشتر توی دیتا گرید نمایش نمیده پس از جستجو اما بازم مجموع رو مینویسه
و من نمی خوام مجموع رو نشون بده می خوام هر چند تا رکورد که توی دیتا گرید نمایش می ده مجموع همون چند تا رکورد رو نشون بده
امیدوارم تونسته باشم منظورم رو رسونده باشم

M.T.P
یک شنبه 20 شهریور 1390, 14:43 عصر
بخشی از برنامه رو آپلود کنید.

ehsanocx
دوشنبه 21 شهریور 1390, 10:29 صبح
من که کد هارو گذاشتم من فقط کد جمع کردنم رو می خوام اصلاح کنم
اخه این فرم با چند تا فرم ارتباط داره . به تنهایی کار نمیکنه و جداکردنش سخته .

M.T.P
دوشنبه 21 شهریور 1390, 20:29 عصر
خب شما کدی که در پست اول گذاشتین در واقع گفتین که:
مجموع فیلد Mablagh رو که فیلد Code اون(که فکر کنم کد شرکت هست) برابر با مثلا 1 باشه رو جمع کن و سپس این فرم رو نمایش دادید ، درسته؟
بعد در فرم جاری اومدین جدول رو به اسم یک پیمانکار فیلتر کردین که مشکل اینجاست و شما در این حالت باید یک شرط دیگه اضافه کنید یعنی:

StrSQl = "select sum(Mablagh)as sum1 from Peimankar where code = " & FrmMain.Adodc1.Recordset.Fields("Code").value & " AND Name = 'احسان'"
البته شما به Name که من نوشتم عنوان فیلد پیمانکار رو بنویسید و به جای احسان نام کنترل Textbox جستجو.

ALIMAHDE54
سه شنبه 22 شهریور 1390, 15:59 عصر
سلام اگه میشه دوست یه سورس اگه دراین رابطه دارین بذارین یه سورسی که جامع باشه در این باره مثلا بشه توش به غیر از این کار ها کار تفریق دو فیلد رو هم حساب کرد یا کارهای دیگه ...

ehsanocx
سه شنبه 22 شهریور 1390, 16:40 عصر
عنوان فیلد پیمانکار یعنی چی؟