PDA

View Full Version : جمع بستن یک فیلد از بانک اطلاعاتی



mrtzxxx
شنبه 28 اردیبهشت 1387, 21:24 عصر
با چه دستوری می شود فیلدهای یک بانک اطلاعاتی را با هم جمع کرد که این فیلدها دارای شرطی خاص باشند.
مثلا فیلدهای وزن را که فیلد نام آنها مساوی با سیمان است را با هم جمع کن

noorsoft
یک شنبه 29 اردیبهشت 1387, 08:07 صبح
با استفاده از تابع SUM در SQL می شه این کار ار انجام داد

maryamb
یک شنبه 29 اردیبهشت 1387, 09:59 صبح
select vazn from table where name = " siman"به نظر من اول با دستوری مثل بالا داده هایی که لازم داری رو بیار و تو یه دیتا گرید مخفی بریز.بعد با دستوری مثل زیر از از اولین فیلد شروع کن به جمع کردن مثل این :
Dim a As Currency
Do Until Adodc1.Recordset.EOF
a = (a + Val(Adodc1.Recordset.Fields(5).Value))
Adodc1.Recordset.MoveNext
Loop
که در اینجا فیلد 5 همون فیلد وزن هستش

ali_habibi1384
یک شنبه 29 اردیبهشت 1387, 10:57 صبح
select vazn from table where name = " siman"به نظر من اول با دستوری مثل بالا داده هایی که لازم داری رو بیار و تو یه دیتا گرید مخفی بریز.بعد با دستوری مثل زیر از از اولین فیلد شروع کن به جمع کردن مثل این :
Dim a As Currency
Do Until Adodc1.Recordset.EOF
a = (a + Val(Adodc1.Recordset.Fields(5).Value))
Adodc1.Recordset.MoveNext
Loop
که در اینجا فیلد 5 همون فیلد وزن هستش
یعنی شما میگین که از ابتدا تا انتهای تیبل رو بخونیم و با هم جمع کنیم؟!
اگه پایگاهمون مثلا 3000 تا رکورد داشت تقریبا 15 ثانیه باید منتظر بمونیم! این کار اصلا درست نیست و بهترین کار استفاده از دستورات SQL است. همون چیزی که آقای norsoft میگه.

mpmsoft
یک شنبه 29 اردیبهشت 1387, 13:01 عصر
Select Sum(FldName) as SumField FROM TblMoein

maryamb
یک شنبه 29 اردیبهشت 1387, 14:54 عصر
این کار اصلا درست نیست
بله حق با شماست.
من تو برنامم از این روش استفاده می کنم ولی برنامه ی من یه حالتی داره که هیچ وقت رکورد های انتخابی از 20 تا بیشتر نمی شه.
ممنون

j.farazani
یک شنبه 29 اردیبهشت 1387, 18:47 عصر
سلام دوستان

ببخشید دیدم سوالم بی ارتباط با تاپیک شما نیست


Select Sum(FldName) as SumField FROM TblMoein

میشه یه مثالی بزنید که در اون این select رو در یه command بریزیم و بشه بدون استفاده از recordset مقدار خروجی رو از command گرفت . اصلا راهی داره ؟؟؟

یه چیزی شبیه به توابع اسکالر در sql

مطلب دیگه اینکه دوست عزیزم فرمودند

اگه پایگاهمون مثلا 3000 تا رکورد داشت تقریبا 15 ثانیه باید منتظر بمونیم!

آیا راه فنی برای این محاسبه سراغ دارید یا اینکه تجربیه؟؟؟؟


ممنون