PDA

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



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

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

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

چطور می تونم اینکار رو انجام بدم
اگه کدی واسه کریستال ریپورت دادین میشه بگین باید اون رو در چه قسمتی بنویسم؟
ممنون

arefba
شنبه 06 فروردین 1390, 12:04 عصر
کسی جواب این مسئله رو نمیدونه

arefba
شنبه 06 فروردین 1390, 12:06 عصر
کسی نمی تونه یه راه حلی بده

narmafzar
چهارشنبه 10 فروردین 1390, 01:11 صبح
سلام
بكمك SP زير ميتونيد اينكار روبكنيد
اين SP هم مانده حساب (بدهكار - بستانكار) و هم ش رديف و هم ويرگول دار كردن اعداد (جدا كننده سه رقم اعداد با كاما) (خلاصه ترين روش) را براي شما نمايش ميدهد

ALTERPROCEDURE [dbo].[SP_AccountActions_MandehB]
@AccountNo char(15)='',
@TypeOfAccount int
AS
BEGIN
SelectRow_Number()OVER (orderby ActionDate)ASRow_Number,
ActionDate,Description,
RTRIM(LTRIM(LEFT(CONVERT(char,CAST(Bed ASmoney), 1), 27)))AS Bed2,RTRIM(LTRIM(LEFT(CONVERT(char,CAST(Bes ASmoney),1), 27)))AS Bes2,
RTRIM(LTRIM(LEFT(CONVERT(char,CAST(
(selectsum(Bes-bed)from TAccountActions B
where ( B.ActionDate < A.ActionDate OR
(B.ActionDate = A.ActionDate and B.UniqNewId <= A.UniqNewId))AND( b.AccountNo=@AccountNo AND TypeOfAccount=@TypeOfAccount)
)ASmoney), 1), 27)))
as Mandeh

, AccountNo, TypeOfAccount, UniqNewId, Bed, Bes, ActionTimeInsert, ActionTimeUpdate
From
TAccountActions A WHERE ( AccountNo=@AccountNo AND TypeOfAccount=@TypeOfAccount )OrderBy ActionDate,UniqNewId