Funkce DDB

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vrátí hodnotu typu Double určující odpis aktiva pro určité časové období pomocí dvojité degresní metody zůstatku nebo jiné metody, kterou zadáte.

Syntaxe

DDB(náklady, zůstatky, životnost, období* [, faktor] )

Syntaxe funkce DDB má tyto argumenty:

Argument Popis
Náklady Povinný argument. Double určující počáteční náklady na aktivum.
Zachránit Povinný argument. Double určující hodnotu aktiva na konci jeho životnosti.
Život Povinný argument. Double určující délku životnosti aktiva.
Období Povinný argument. Double určující období, pro které se počítá odpis majetku.
Faktor Nepovinný argument. Varianta určující sazbu, s jakou se zůstatek odmítne. Pokud je vynechán, předpokládá se hodnota 2 (metoda dvojitého degresování).

    

Poznámky

Dvojitá degresivní metoda odpisu počítá odpis při degresivní sazbě. Odpis je nejvyšší v prvním období a v dalších obdobích se snižuje.

Argumenty životnosti a tečky musí být vyjádřeny ve stejných jednotkách. Pokud je například životnost uvedena v měsících, musí být období také uvedeno v měsících. Všechny argumenty musí být kladná čísla.

Funkce DDB používá k výpočtu odpisů za dané období následující vzorec:

Odpisy / období = ((nákladyzůstatky) * faktor) / životnost

Příklad

Poznámka

Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

V tomto příkladu se funkce DDB používá k vrácení odpisů aktiva za zadané období vzhledem k počátečním nákladům (InitCost), zůstatkové hodnotě na konci životnosti aktiva (SalvageVal), celkové životnosti aktiva v letech (LifeTime) a období v letech, pro které se odpisy vypočítají (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) & "."