الدالة SYD

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

ترجع هذه الدالة Double يحدد أرقام مجموع سنوات استهلاك أحد الأصول لفترة معينة.

بناء الجملة

SYD(cost, salvage, life, period)

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

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

ملاحظات

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

أمثلة عن الاستعلام

التعبير النتائج
SELECT SYD([LoanAmount],[LoanAmount]*.1,20,2) AS Expr1 FROM FinancialSample; تحسب هذه الدالة الإهلاك لأصل مقدر ب "مبلغ القرض"، بقيمة الإنقاذ 10٪ ("مبلغ القرض" مضروبا في 0.1)، مع الأخذ في الاعتبار العمر الإنتاجي للأصل ب 20 عاما. يتم حساب الإهلاك للسنة الثانية.
SELECT SYD([LoanAmount],0,20,3) AS SLDepreciation FROM FinancialSample; ترجع هذه الدالة الإهلاك لأصول تتم قيمتها ك "مبلغ القرض"، بقيمة الباقات التي تبلغ 0 ر.س. مع الأخذ في الاعتبار العمر الإنتاجي للأصل بقيمة 20 عاما. يتم عرض النتائج في العمود SLDepreciation. يتم حساب الإهلاك للسنة الثالثة.

مثال VBA

ملاحظة

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

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

Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDepr
Const YEARMONTHS = 12    ' Number of months in a year.
Fmt = "###,##0.00"    ' Define money format.
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("What's the asset's value at the end of its life?")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YEARMONTHS    ' 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 / YEARMONTHS    ' Convert months to years.
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
    LifeTime = Int(LifeTime + 1)    ' Round up to nearest year.
End If 
DepYear = CInt(InputBox("For which year do you want depreciation?"))
Do While DepYear < 1 Or DepYear > LifeTime
    MsgBox "You must enter at least 1 but not more than " & LifeTime
    DepYear = CInt(InputBox("For what year do you want depreciation?"))
Loop
PDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & Format(PDepr, Fmt) & "."