نمایش نتایج 1 تا 13 از 13

نام تاپیک: مشکل در محاسبه مانده حساب

  1. #1
    کاربر دائمی آواتار linktaz
    تاریخ عضویت
    دی 1387
    محل زندگی
    C:\WINDOWS\Temp
    پست
    309

    مشکل در محاسبه مانده حساب

    با عرض سلام و خسته نباشید خدمت دوستان عزیز.
    من یه مشکل در محاسبه مانده حساب دارم که اونو توی فایل اکسس ضمیمه کردم،اگر ممکنه کمکم کنید
    بعدی وقتی مبلغ بدهکار رو وارد کردم ،اونو با مانده قبلی(به جز سطر اول که مانده قبلی نداره) جمع کنه و از بستانکار کم کنه و نشون بده،اگر هم این محاسبات داخل یه فیلد جدید وارد شد ایرادی نداره.واسه اینکه راحتتر منظورم رو متوجه بشید اونو توی اکسل هم گذاشتم و ضمیمه کردم.ممنونم.
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی آواتار hoshy345
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    امارات .ابوظبی
    پست
    121

    نقل قول: مشکل در محاسبه مانده حساب

    با سلام
    فایل شما اصلاح شد
    فایل های ضمیمه فایل های ضمیمه

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    1,369

    نقل قول: مشکل در محاسبه مانده حساب

    نقل قول نوشته شده توسط hoshy345 مشاهده تاپیک
    با سلام
    فایل شما اصلاح شد
    سلام
    ضمن تشكر از جناب hoshy345 در كد زير بجاي علامت + از علامت - استفاده شود.

    VarMande = VarMande + (rst.Fields("bedehkar") - rst.Fields("bestankar"))

    ضمناً براي مشاهده نتيجه بعد از وارد نمودن اعداد ، بعد از next از دستور Me.Requery استفاده كن!
    موفق باشيد

  4. #4
    کاربر دائمی آواتار linktaz
    تاریخ عضویت
    دی 1387
    محل زندگی
    C:\WINDOWS\Temp
    پست
    309

    نقل قول: مشکل در محاسبه مانده حساب

    سلام.ممنونم همونی شد که می خواستم.فقط یه نکته.
    با توجه به اینکه مانده در جدول من ذخیره نمیشه چطوره میتونم از اون گزارش تهیه کنم؟
    چطوری میتونم تو جدولم این مجاسبه رو ذخیره کنم؟

  5. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    1,369

    نقل قول: مشکل در محاسبه مانده حساب

    نقل قول نوشته شده توسط linktaz مشاهده تاپیک
    سلام.ممنونم همونی شد که می خواستم.فقط یه نکته.
    با توجه به اینکه مانده در جدول من ذخیره نمیشه چطوره میتونم از اون گزارش تهیه کنم؟
    چطوری میتونم تو جدولم این مجاسبه رو ذخیره کنم؟
    سلام
    چرا ذخیره میشه ، مجدداً امتحان کن!
    موفق باشید

  6. #6
    کاربر تازه وارد آواتار aimaz57
    تاریخ عضویت
    مهر 1388
    محل زندگی
    آبادان-لب شط
    پست
    48

    نقل قول: مشکل در محاسبه مانده حساب

    سلام خیلی پرکابرد بود متشکر ولی میشه به استفاده از تیبل و یه ریپورت نمونه بذارین
    منظور حذف فرم هاست البته اگه راه داره
    مرسی

  7. #7
    کاربر جدید آواتار hmdrzy
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    تهران
    سن
    63
    پست
    14

    نقل قول: مشکل در محاسبه مانده حساب

    سلام،
    اگر امكان داره قسمتي از كد را كه باعث ذخيره شدن مانده در جدول ميشه براي بنده توضيح بدين. در ضمن متغيرهاي S و Y چه نقشي در اين كد دارند.

  8. #8

    نقل قول: مشکل در محاسبه مانده حساب

    سلام اگه میشه نمونه بزارین
    نقل قول نوشته شده توسط alirezabahrami مشاهده تاپیک
    سلام
    چرا ذخیره میشه ، مجدداً امتحان کن!
    موفق باشید

  9. #9
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    تربت حیدریه
    پست
    131

    نقل قول: مشکل در محاسبه مانده حساب

    سلام
    در نمونه بالا مانده حساب از طریق فرم در جدول محاسبه و انجام میشد.
    حالا اگه من خواسته باشم این مانده حساب را در کوئری داشته باشم لطفا کد رو بگونه ای اصلاح کنید که بتوان با فیلتر شماره حساب در کوئری، ستون مانده کوئری هم بصورت خودکار اصلاح شود.
    ترجیحا ستون مانده در نمونه ذیل اصلاح شود.
    و یا یک تابع یا متغییری تعریف شود که مانده حساب در کوئری نمایش داده شود
    فایل های ضمیمه فایل های ضمیمه

  10. #10
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: مشکل در محاسبه مانده حساب

    نقل قول نوشته شده توسط sadegh1944 مشاهده تاپیک
    سلام
    در نمونه بالا مانده حساب از طریق فرم در جدول محاسبه و انجام میشد.
    حالا اگه من خواسته باشم این مانده حساب را در کوئری داشته باشم لطفا کد رو بگونه ای اصلاح کنید که بتوان با فیلتر شماره حساب در کوئری، ستون مانده کوئری هم بصورت خودکار اصلاح شود.
    ترجیحا ستون مانده در نمونه ذیل اصلاح شود.
    و یا یک تابع یا متغییری تعریف شود که مانده حساب در کوئری نمایش داده شود
    سلام
    در کوئری بجای کد قبلی محاسبه مانده از کد زیر استفاده کن !

    mande2: Sum(DSum("bedehkar","table1","id<=" & [id] & "")-DSum("bestankar","table1","id<=" & [id] & ""))

    یا علی

  11. #11
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    تربت حیدریه
    پست
    131

    نقل قول: مشکل در محاسبه مانده حساب

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    سلام
    در کوئری بجای کد قبلی محاسبه مانده از کد زیر استفاده کن !

    mande2: Sum(DSum("bedehkar","table1","id<=" & [id] & "")-DSum("bestankar","table1","id<=" & [id] & ""))

    یا علی
    باسلام
    بله میشه از این فرمول استفاده کرد، ولی پردازش داده ها با استفاده از فرمانهایی نظیر Dsum و ِDlookup بویژه در کوئری هایی که حجم اطلاعات در حال پردازش زیاد بوده و دارای عملیات محاسباتی جمع و تفریق و ازین قبیل می باشد دارای محدودیت بوده و بسیار با تاخیر و به کندی انجام میشود. نظر من بجای Dsum استفاده تابع sum است که البته نیاز به کد نویسی دارد. به همین خاطر اگر کد نمونه بالا برای کوئری اصلاح شود خیلی بهتر خواهد بود.

  12. #12
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: مشکل در محاسبه مانده حساب

    نفس کار نادرست هست؛
    محاسبات انباشته (مثل همین running total یا شماره ردیف) برای ریپورت هست که رکوردها پشت سر هم پردازش میشن.
    در فرم میشه مثل همین نمونه اینجا انجام داد، ولی چون در فرم بصورت منطقی تعداد رکوردهایی که باهاش سروکار داریم محدود هست توابع aggregate مشکلی ندارن.
    مثلا در ثبت یک سند یا فاکتور فروش یا حواله انبار تعداد رکوردها از چند ده تا رد نمیشه و این کد کند نیست (البته خام هست و نیاز به اصلاح داره).
    حتی تا چند هزار رکورد هم نباید مشکل سرعت داشته باشه.


    یک راه برای محاسبات انباشته در سطح جدول (خودبخود در کوئری های مشتق از اون هم انجام میشه) استفاده از datamacro است؛
    البته مشکلات خودش رو هم داره!

    راه بهتر اینه که یک رکوردست forwardonly بازکنین و محاسبات رو روی اون انجام بدین.

    در sql تمهیداتی دیده شده که این کار رو خیلی راحت میکنه که در اکسس نداریم.

  13. #13
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: مشکل در محاسبه مانده حساب

    نقل قول نوشته شده توسط sadegh1944 مشاهده تاپیک
    باسلام
    بله میشه از این فرمول استفاده کرد، ولی پردازش داده ها با استفاده از فرمانهایی نظیر Dsum و ِDlookup بویژه در کوئری هایی که حجم اطلاعات در حال پردازش زیاد بوده و دارای عملیات محاسباتی جمع و تفریق و ازین قبیل می باشد دارای محدودیت بوده و بسیار با تاخیر و به کندی انجام میشود. نظر من بجای Dsum استفاده تابع sum است که البته نیاز به کد نویسی دارد. به همین خاطر اگر کد نمونه بالا برای کوئری اصلاح شود خیلی بهتر خواهد بود.
    سلام
    اگه میخوای ستون مانده رو بدون استفاده از Sum و DSum بدست بیاری و در جدول هم ذخیره بشه از فانکشن زیر استفاده کن:

    Function RunMandeh(TableName As String, FieldName1 As String, FieldName2 As String, Fieldid As Long) As Double
    On Error Resume Next
    Dim rst As Recordset
    Dim VarMande As Double
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM " & TableName & " WHERE id<=" & Fieldid)
    rst.MoveLast
    rst.MoveFirst
    VarMande = 0
    For I = 0 To rst.RecordCount - 1
    VarMande = VarMande + (rst.Fields(FieldName1) - rst.Fields(FieldName2))
    rst.Edit
    RunMandeh = VarMande
    rst.Fields("mande") = VarMande
    rst.Update
    rst.MoveNext
    Next I
    rst.Close
    Set rst = Nothing
    End Function
    فایل های ضمیمه فایل های ضمیمه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •