View Full Version : سوال: formula field در crystalreport
matiye
سه شنبه 08 آذر 1390, 09:34 صبح
با سلام
من کد زیر را در formula field نوشته ام.
shared numbervar bb;
if isnull({tbl1.sumbed}) and isnull({tbl1.sumbes})
then 0
else bb := bb + ({tbl1.sumbed}-{tbl1.sumbes});
به من error زیر را می دهد. کسی می تونه کمکم کند.
A number,currency amount is required here.
ممنون می شم کسی کمکم کند.
Mahmoud Zaad
سه شنبه 08 آذر 1390, 11:08 صبح
سلام
اینطور که از متن خطا مشخصه یکی(یا چندتا) از فیلدها عددی نیستند(sumbed یا sumbes ). برای رفع این مشکل شما باید برای هر کدوم از فیلدها که عددی نیستند یک فرمول جدید تعریف کنید و از متدToNumber (داخل کریستال ریپورت) ، فیلد مورد نظر رو به عدد تبدیل کنید.
matiye
سه شنبه 08 آذر 1390, 12:25 عصر
در واقع من یک dataset ساخته ام.و tbl1 را درآن درست کردم.وفیلد های آن از query داخل کدم است.
می شه کدشو برام بنویسید.(استفاده از ToNumber)
ممنون می شم.
Mahmoud Zaad
سه شنبه 08 آذر 1390, 14:01 عصر
در قسمت formula workshop از فرمول های شاخه string این متد رو پیدا می کنی(دایره آبی رنگ) و روش کلیک می کنی.حالا کرسر رو داخل پرانتز قرار میدی و فیلد مورد نظرت رو از توی دیتاست انتخاب می کنی تا داخل پرانتز قرار بگیره(کادرهای نارنجی رنگ). این کار رو برای تمام فیلدهایی که عددی نیستند و قراره توی کریستال ریپورت عملیات ریاضی روی اونها انجام بگیره انجام بده. حالا توی فرمول اصلیت باید از این فرمول (ها) به جای فیلدهای سابق استفاده کنی.
matiye
سه شنبه 08 آذر 1390, 14:31 عصر
در قسمت formula workshop از فرمول های شاخه string این متد رو پیدا می کنی(دایره آبی رنگ) و روش کلیک می کنی.حالا کرسر رو داخل پرانتز قرار میدی و فیلد مورد نظرت رو از توی دیتاست انتخاب می کنی تا داخل پرانتز قرار بگیره(کادرهای نارنجی رنگ). این کار رو برای تمام فیلدهایی که عددی نیستند و قراره توی کریستال ریپورت عملیات ریاضی روی اونها انجام بگیره انجام بده. حالا توی فرمول اصلیت باید از این فرمول (ها) به جای فیلدهای سابق استفاده کنی.
:لبخندساده:خیلی ممنون .
مشکلم حل شد.thanks
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.