PDA

View Full Version : تفریق دو فیلد در دیتا ست و قرار دادن آنها با شرط در جای دیگر



arefba
شنبه 06 فروردین 1390, 02:53 صبح
بسم الله الرحمن الرحیم
با درود

دوستان من چهارتا فیلد رو توی یه دیتا ست فراخوانی کردم که اسمشون به ترتیب
آیدی -- شرح -- بدهکار -- بستانکار
می باشد
حالا من توی کریستال ریپورت یه فرم درست کردم که به صورت زیره
آیدی -- شرح -- بدهکار -- بستانکار -- مانده بدهکار -- مانده بستانکار

من می خوام که در فرم قسمت های مانده بدهکار و مانده بستانکارم بدهکار از بستانکار کم بشه اگه مثبت عددش توی مانده بدهکار نوشته شه و اگر منفی بود عددش توی مانده بستانکار

چطور می تونم اینکار رو انجام بدم
ممنون

arefba
شنبه 06 فروردین 1390, 11:03 صبح
کسی جواب این مسئله رو نمیدونه

shadi khanum
شنبه 06 فروردین 1390, 11:20 صبح
تو کریستال یه expersionField تعریف کن که برابر فیلد بدهکار - فیلد بستانکار باشه مثلا به اسم M. تو گزارش هم تو قسمت مانده بدهکار و هم مانده بستانکار این فیلد جدید که تعریف کردی رو بذار. حالا روی اون که واسه مانده بدهکار گذاشتی کلیک راست کن و FormatField رو انتخاب کن، تو tab اولی تیک suppress رو بزن بعد دکمه روبروش رو کلیک کن ، تو اون پنجره بنویس{%m} < 0 و همین کار رو واسه اونکه برای مانده بستانکار انجام بده فقط شرط رو بذار بزرگتر از 0..
موفق باشی

softsoft
شنبه 06 فروردین 1390, 11:36 صبح
سلام دوست عزیز:
Queryشما به این صورت می شود:

select id,sharh,bedehkar,bestankar,-(bestankar - bedehkar) as mandebedehkar,0 as mandebestankar
from tablename
where bestankar-bedehkar<0
union
select id,sharh,bedehkar,bestankar,0 as mandebedehkar,bestankar - bedehkar as mandebestankar
from tablename
where bestankar-bedehkar>0

arefba
شنبه 06 فروردین 1390, 17:57 عصر
ممنون از پاسختون
این کوری که نوشتین یه جوری
لاززم به ذکره که من فیلد مانده بدهکار و مانده بستانکار ندارم و فقط به صورت نمایشی وجود دارند
و اما شادی خانوم میشه واضح تر توضیح بدید

shadi khanum
شنبه 06 فروردین 1390, 19:09 عصر
ببین شما 4 تا قیلد گفتی تو دیتاستت داری و از روی این دیتاست گزارش ساختی. دو تا از این فیلدها مبلغ بدهکار و بستانکار. تو اون گزاش Crystalreport، یه پنجره هست به اسم FieldExplorer که تو اون یه قسمت هست به اسم SQL Experssion Field. روش کلیک راست کن و new کن و یه اسم بهش بده و از اون به بعد رو تو پست بالا گفتم. شما با کجاش مشکل داری؟ من خودم دقیقا اینکارو کردم و مشکلی ندارم. اینکارو بکن، لگه مشکل داشتی بگو کجاش رو متوجه نشدی تا کمکت کنم
موفق باشی