Função SLN

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Devolve um Valor Duplo especificando a depreciação linear de um ativo durante um único período.

Sintaxe

SLN(custo, residual, vida útil)

A função SLN tem estes argumentos:

Argumento Descrição
custo Obrigatório. Duplo a especificar o custo inicial do recurso.
salvage Obrigatório. O dobro da especificação do valor do ativo no final da sua vida útil.
vida útil Obrigatório. O dobro da duração útil do ativo.

Comentários

O período de depreciação tem de ser expresso na mesma unidade que o argumento de vidaútil. Todos os argumentos têm de ser números positivos.

Exemplos de consulta

Expressão. Resultados
SELECT SLN([LoanAmount],[LoanAmount]*.1,20) AS Expr1 FROM FinancialSample; Devolve a depreciação de um ativo avaliado como "LoanAmount", com um valor residual de 10%("LoanAmount" multiplicado por 0,1), considerando que a vida útil do ativo é de 20 anos.
SELECT SLN([LoanAmount],0,20) AS SLDepreciation FROM FinancialSample; Devolve a depreciação de um ativo avaliado como "LoanAmount", com um valor residual de 0 $, considerando que a vida útil do ativo é de 20 anos. Os resultados são apresentados na coluna SLDepreciation.

Exemplo de VBA

Observação

Exemplos que se seguem demonstram a utilização desta função num módulo Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Programador na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função SLN para devolver a depreciação linear de um ativo durante um único período, dado o custo inicial do ativo (InitCost), o valor residual no final da vida útil do ativo (SalvageVal) e a vida útil total do ativo em anos (LifeTime).

Dim Fmt, InitCost, SalvageVal
Dim MonthLife, LifeTime, 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 useful life?")
MonthLife = InputBox("What's the asset's useful " & _
            "life in months?")
' Ensure period is >= 1 year.
Do While MonthLife < YEARMONTHS 
    MsgBox "Asset life must be a year or more."
    MonthLife = InputBox("What's the asset's " & _
                "useful life in months?")
Loop
' Convert months to years.
LifeTime = MonthLife / YEARMONTHS 
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
    ' Round up to nearest year.
    LifeTime = Int(LifeTime + 1)    
End If
PDepr = SLN(InitCost, SalvageVal, LifeTime)
MsgBox "The depreciation is " & _
       Format(PDepr, Fmt) & " per year."