PDA

View Full Version : بدهکار | بستانکار | مانده



merced
جمعه 04 خرداد 1386, 19:03 عصر
فرض کنید: من یه جدول دارم که فیلدهای (تاریخ ، شرح، بدهکار و بستانکار) رو داره

من سال مالی استفاده نمی کنم.

من یه گزارش از ماه جاری می گیرم. با Union تونستم رکورد مانده رو به اول نتیجه این Query اضافه کنم . (آیا هیچ روش بهتری وجود داره ؟)

سوال :
من می خوام کنار بدهکار و بستانکار مانده رو ببینم.

آره. میشه با پیمایش جدول این کار رو کرد. ولی یه روش سریع و یا یه کودری که بتونه این کار رو انجام بده وجود داره ؟


ممنونم

فکر می کنم از اون سوال های عجیب باشه !
مثل سوال قبلیم که هنوز برام تو اکسس سواله، تونستم کارمو راه بندازم ولی روشم منطقی نیست
http://barnamenevis.org/forum/showthread.php?t=66031&page=2

mehdi_mohamadi
جمعه 04 خرداد 1386, 19:27 عصر
می تونی یه ویو بسازی

SYNDROME
جمعه 04 خرداد 1386, 19:50 عصر
با سلام
X : بدهکار
Y : بستانکار
Z : مانده بدهکار
W : مانده بستنکار


Select X , Y , X - Y As Z , Y , X as W
From Tbl_Test


نتیجه :
X : 100
Y :200
Z :-100
W :100
دقت کن Z‌منفی است حالا همین Select را داخل یک Table موقت بریز و سپس اعداد منفی را با دستور Update برابر صفر قرار بده.


Update Tbl_Temp
Set z=0
Where Z<0

mzjahromi
شنبه 05 خرداد 1386, 06:48 صبح
برای SQL Server این تاپیک مطزح شده و پاسخ مناسبی هم داده شده (http://www.barnamenevis.org/forum/showthread.php?t=21194&highlight=debtor)
ولی برای Access تا الان من چیزی جز پیمایش پیدا نکردم

jafari1
یک شنبه 20 خرداد 1386, 21:21 عصر
دوست عزیز جناب SYNDROME (http://www.barnamenevis.org/forum/member.php?u=35868) فیلد مانده ای که دوستمان فرمودند مانده کل میباشد و شما در این دستور مانده هر ردیف را بدست آوردید در صورتی که مانده وابسته به ردیفهای گذشته میباشد

SYNDROME
یک شنبه 20 خرداد 1386, 22:24 عصر
با سلام

دوست عزیز جناب SYNDROME (http://www.barnamenevis.org/forum/member.php?u=35868) فیلد مانده ای که دوستمان فرمودند مانده کل میباشد و شما در این دستور مانده هر ردیف را بدست آوردید در صورتی که مانده وابسته به ردیفهای گذشته میباشد
درست است ولی شما در برنامه حسابداری برای هر گروه ، کل ، معین و . . . در مرور حسابها چهار ستون دارید.
1-بدهکار 2-بستانکار 3- مانده بدهکار 4-مانده بستانکار
معین ------بدهکار -------بستانکار ------------مانده بدهکار----------- مانده بستانکار
1101 -----10000 ---------15000 ------------------0----------------------- 5000
پس برای هر خط یک مانده مجزا داریم.
و یک مانده نیز داریم که به آن مانده در خط می گویند که شما به آن اشاره کردید که از خط اول تا خطی که شما بر روی آن کلیک کرده اید محاسبه می شود.
بهر حال ممنون از نکته بینی شما.

Mahdi_S_T
دوشنبه 12 شهریور 1386, 10:46 صبح
من این کارو میخوام انجام بدم

ردیف / تاریخ / شرح / بدهکار / بستانکار / مانده

1 /25/2/84 / بابت خرید کالا / 10000 / 0 / 10000-
2 /25/2/84 / پرداخت نقدی / 0 / 10000 / 0
3 /26/2/84 / بابت اعتبار حساب / 0 / 200000 / 200000+

خوب همون طور که می دونید ستون مانده نمایان گر وضعیت حساب تا آن سطر است
مثلا در سطر اول -10000 بدهکار شده است پس مانده برابر -10000 است
در سطر دوم 10000 بستانکار شده است خوب حالا مقدار مانده سطر دوم برابر مقدار مانده سطر اول می شود با مقدار بستانکار سطر دوم

دستوری که دوستمان نوشتن برای گام اول کاملا درسته و در مثال بالا دارای خروجی زیر است:

-10000
10000
200000
خوب حالا اگر بشه دستوری نوشت که هر سط رو با سطر قبلیش جمع کنه مشکل حله
یعنی منظورم همان سطر های ستون مانده است:
ردیف
1 0+-10000=-10000
2 -10000+10000=0
3 0 + 200000=200000
همان طور که مشاهده می کنید به روش بالا مقدار ستون مانده بدست آمد
البته من یه راه حل جهت بانکهای SQl رو در سایت مرور کردم ولی من برای بانک Access این کارو لازم دارم.

behzad2002iran
دوشنبه 24 دی 1386, 14:59 عصر
اتفاقا من هم همین مشکال را دارم.
و من تا به اینجاپیش رفتم که در Adotable چند فیلد جدید با خاصیت عددی درست کردم
1- MandehBede
2- MandehBest
3- Mandeh
که تابه اینجا همانطور که گفتند برای ماند بدهکار و بستانکار مشکلی نیست ولی نمی دانم در رویدادOnCalcFields در Adotable برای مانده که جمع سطر ها است تاسطر جاری چه نوشت.

babak_delphi
چهارشنبه 26 دی 1386, 02:11 صبح
اگه توی OnCalcField بنویسی ، هر دفعه که توی DBGrid پیمایش می کنی دوباره محاسبه میشه
مگر اینکه با flag (متغییر) کنترلش کنی
من قبلا نوشته بودم ولی به دلایلی پاک شد
الان هم کدم ناقصه و حوصله دوباره نوشتنش رو هم ندارم ):

SYNDROME
چهارشنبه 26 دی 1386, 07:30 صبح
اتفاقا من هم همین مشکال را دارم.
و من تا به اینجاپیش رفتم که در Adotable چند فیلد جدید با خاصیت عددی درست کردم
1- MandehBede
2- MandehBest
3- Mandeh
که تابه اینجا همانطور که گفتند برای ماند بدهکار و بستانکار مشکلی نیست ولی نمی دانم در رویدادOnCalcFields در Adotable برای مانده که جمع سطر ها است تاسطر جاری چه نوشت.
من در این مواقع با یک SP محاسبات را انجام می دهم و سپس نتایج را به کاربر در یک aDO نمایش می دهم.
هم سرعت بالا است و هم دیگر نیازی به فیلد محاسباتی نیست.
موفق باشید

mohebbi_en
چهارشنبه 26 دی 1386, 09:49 صبح
با سلام خدمت دوستان عزیر
یک راه ساده اینه که اطلاعات رو توی یک جدول موقت بریزید بعد محاسبه مانده را انجام بدهید بعد به کاربر نمایش بدهید من خودم از این روش استفاد کردم خیلی سریع و راحت و آسونه

szabeh
دوشنبه 29 بهمن 1386, 14:54 عصر
دوست عزیز اگه میخوای در گزارش دیده بشه و با fr کار میکنی من این کار را کردم. در fr قسمت کدنویسی این کار را میشه انجام داد