الدالة DDB

ينطبق على
Access لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ترجع هذه الدالة Double لتحديد إهلاك الأصول لفترة زمنية معينة باستخدام طريقة الرصيد المتناقص المزدوج أو أسلوب آخر تحدده.

بناء الجملة

DDB(cost, salvage, life, period* [, factor] )

يحتوي بناء جملة الدالة DDB على الوسيطات التالية:

الوسيطة الوصف
التكلفة مطلوبة. ضاعفة تحديد التكلفة الأولية للأصل.
الإنقاذ مطلوبة. مزدوجة تحديد قيمة الأصل في نهاية عمرها الإنتاجي.
حياة مطلوبة. مزدوج يحدد المدة الإنتاجية للأصل.
الفترة الزمنية مطلوبة. فترة تحديد مزدوجة لحساب إهلاك الأصول.
العامل اختيارية. المتغير الذي يحدد المعدل الذي تتراجع عنده الميزانية. إذا تم حذفها، فسيتم افتراض أن القيمة 2 (أسلوب الرفض المزدوج).

    

ملاحظات

يحسب أسلوب الاستهلاك المتناقص المزدوج الاستهلاك بمعدل متزايد. يكون الإهلاك في أعلى معدلاته في الفترة الأولى ثم ينخفض في الفترات المتعاقبة.

يجب التعبير عن وسيطات العمروالفترة بالوحدات نفسها. على سبيل المثال ، إذا تم إعطاء الحياة بالأشهر ، فيجب أيضا إعطاء الفترة بالأشهر. يجب أن تكون جميع الوسيطات أرقاما موجبة.

تستخدم الدالة DDB الصيغة التالية لحساب الإهلاك لفترة معينة:

الإهلاك / الفترة = ((التكلفةالإنقاذ) * العامل) / العمر الإنتاجي

مثال

ملاحظة

توضح الأمثلة التالية استخدام هذه الدالة في وحدة نمطية ل Visual Basic for Applications (VBA). لمزيد من المعلومات حول استخدام VBA، حدد "مرجع المطور" في القائمة المنسدلة بجوار "بحث" وأدخل مصطلح أو أكثر في مربع البحث.

يستخدم هذا المثال الدالة DDB لإرجاع إهلاك الأصول لفترة معينة بالنسبة إلى التكلفة الأولية (InitCost) والقيمة الباقية في نهاية العمر الإنتاجي للأصل (SalvageVal) والعمر الإجمالي للأصول بالسنوات (LifeTime) والفترة بالسنوات التي يتم حساب الإهلاك لها (Depr).

Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, Depr
Const YRMOS = 12    ' Number of months in a year.
Fmt = "###,##0.00"
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("Enter the asset's value at end of its life.")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YRMOS    ' Ensure period is >= 1 year.
    MsgBox "Asset life must be a year or more."
    MonthLife = InputBox("What's the asset's useful life in months?")
Loop
LifeTime = MonthLife / YRMOS    ' Convert months to years.
If LifeTime <> Int(MonthLife / YRMOS) Then
    LifeTime = Int(LifeTime + 1)    ' Round up to nearest year.
End If 
DepYear = CInt(InputBox("Enter year for depreciation calculation."))
Do While DepYear < 1 Or DepYear > LifeTime
    MsgBox "You must enter at least 1 but not more than " & LifeTime
    DepYear = InputBox("Enter year for depreciation calculation.")
Loop
Depr = DDB(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & _
Format(Depr, Fmt) & "."