Funktionen DDB

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerar ett värde av datatypen Double som anger en tillgångs värdeminskning under en viss tidsperiod med hjälp av dubbel degressiv avskrivning eller någon annan metod som du anger.

Syntax

DEGAVSKR(kostnad; restvärde; livslängd; period* [, faktor] )

Syntaxen för funktionen DEGAVSKR har följande argument:

Argument Beskrivning
Kostnad Obligatoriskt. Double anger initialkostnaden för tillgången.
Bärgning Obligatoriskt. Double anger värdet för tillgången i slutet av dess livslängd.
Liv Obligatoriskt. Double anger längden på tillgångens livslängd.
Punkt slut Obligatoriskt. Double anger den period som tillgångsavskrivningen beräknas för.
faktor Valfritt. Variant som anger hur snabbt tillgången avskrivs. Om argumentet utelämnas används 2 (dubbel degressiv metod).

    

Kommentarer

Metoden med dubbel degressiv avskrivning beräknar en avskrivning som är störst under den första perioden och minskar successivt under följande perioder.

Argumenten livslängd och period måste uttryckas i samma enhet. Om t.ex. livet anges i månader, måste mens också anges i månader. Alla argument måste vara positiva tal.

I funktionen DEGAVSKR används följande formel för att beräkna avskrivningen för en viss period:

Avskrivning / period = ((kostnadrestvärde) * faktor) / livslängd

Exempel

Obs

I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

I det här exemplet används funktionen DEGAVSKR för att returnera avskrivningen för en tillgång under en angiven period givet den initiala kostnaden (InitCost), restvärdet i slutet av tillgångens livslängd (SalvageVal), tillgångens totala livslängd i år (LifeTime) och perioden i år för vilken avskrivningen beräknas (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) & "."