ورود

View Full Version : سوال: راهنمایی ویژه برای جمع کردن اعداد یک فیلد



yaradm
چهارشنبه 18 شهریور 1388, 11:05 صبح
لطفا یکی راهنمایی کنه که چطور میشه اولا سلول های یک فیلد رو باهم جمع کرد آیا
تابعی دارده ؟
ثانیا چطور میشه توی یه فیلد دیگر این جمع رو وارد کرد؟
نمی خوام در دیتابیس ذخیره بشه.
ممنونم اگر کمی سریعتر راهنماییم کنید.

sia_2007
جمعه 27 شهریور 1388, 02:47 صبح
میتوانید از Formula استفاده نمایید
نه جا میگیرد و نه محاسبه میشود و نه دیده میشود؛ به جز در مواقعی که فراخوانی میشود
یک فیلد جدید ایجاد کنید؛که Datatype آن اهمیتی ندارد.
در بخش Cloumn Properties؛ برای Formula عبارتی مانند عبارت زیر تایپ نمایید :
مثلا برای فیلدی با نام LinePrice که ارزش کل یک خط از فاکتور را حساب میکند مینویسیم :
UnitPrice*Qty >> تعداد ضرب در قیمت هر واحد = قیمت کل آن خط از فاکتور
این فیلد مقداری را ذخیره نمیکند؛ و تغییر هم نمیپذیرد؛ و فقط وقتی با دستوری مانند Select فراخوانی شود؛ محاسبه میگردد و نمایش داده میشود.
اما اگر در بخش Cloumn Properties مقدار Persist را برابر True/Yes قرار دهید؛ این مقدار ذخیره میگردد و با هر بار Select محاسبه نمیشود؛ بلکه با تغییر فیلدهای محاسبه کننده آن مثلا Qty در این مثال؛ مقدار ذخیره شده آن به روز رسانی میشود که باعث افزایش سرعت میشود
البته Persist را در صورتی میتوان استفاده کرد که فرمول ساده باشد؛ یعنی فقط از فیلد های همان جدول اسفاده شده باشد؛ و در صورتی که از تابع استفاده شود؛ باید پارامترهایش ثابت باشند؛مثل فرمول زیر :
ِDateDif(S,InsertTime,GetDate()) OOOOOOOOOOOOOO
که در صورت ذخیره شدن تاریخ ساخت رکورد؛ در فیلدی به نام InsertTime؛ عمر هر رکورد را محاسبه میکند.
اما مثلا اگر از تابعی Function استفاده شود که کد مشتری را گرفته و مثلا کل خرید وی از شرکت را بر میگرداند؛ نمیتواند Persist شود چون از فیلدهای چند جدول استفاده میکند و تابع آن نیز مقدار متغییر میگیرد که همان شماره مشتری است.
در هنگام نوشتن دستور Select و آوردن آن به برنامه دقت کنید که فیلد فرمول از DataType ای استفاده میکند که منطق بیشتری داشته باشد؛ مثلا برای فرمولی که عدد برمیگرداند؛ بازگشتی از جنس Int است.
OOOOOOOOOOOOOO برای تنظیم فونت است.

sia_2007
جمعه 27 شهریور 1388, 02:50 صبح
FieldName1+FieldName2+... OOOOOOOOOOOOOOO