ฟังก์ชัน SLN

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ส่งกลับ สองชั้น ที่ระบุค่าเสื่อมราคาแบบเส้นตรงของสินทรัพย์สําหรับคาบเวลาเดียว

ไวยากรณ์

SLN(cost, salvage, life)

ฟังก์ชัน SLN มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ คำอธิบาย
ต้น ทุน จำเป็น Double ที่ระบุต้นทุนเริ่มต้นของสินทรัพย์
ซาก จำเป็น สองเท่า ที่ระบุมูลค่าของสินทรัพย์เมื่อสิ้นสุดอายุการใช้งาน
ชีวิต จำเป็น สองเท่า ที่ระบุความยาวของอายุการใช้งานของสินทรัพย์

ข้อสังเกต

รอบระยะเวลาการคิดค่าเสื่อมราคาต้องแสดงในหน่วยเดียวกับอาร์กิวเมนต์ life อาร์กิวเมนต์ทั้งหมดต้องเป็นจํานวนบวก

ตัวอย่างคิวรี

นิพจน์ ผลลัพธ์
SELECT SLN([LoanAmount],[LoanAmount]*.1,20) AS Expr1 FROM FinancialSample; ส่งกลับค่าเสื่อมราคาสําหรับสินทรัพย์ที่มีมูลค่าเป็น "LoanAmount" ด้วยค่าซาก 10%("LoanAmount" คูณด้วย 0.1) เมื่อพิจารณาอายุการใช้งานของสินทรัพย์เป็น 20 ปี
SELECT SLN([LoanAmount],0,20) AS SLDepreciation FROM FinancialSample; ส่งกลับค่าเสื่อมราคาสําหรับสินทรัพย์ที่มีค่าเป็น "LoanAmount" ที่มีมูลค่าซาก $0 เมื่อพิจารณาถึงอายุการใช้งานของสินทรัพย์เป็น 20 ปี ผลลัพธ์จะแสดงในคอลัมน์ SLDepreciation

ตัวอย่าง VBA

หมายเหตุ

ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงสําหรับนักพัฒนา ในรายการดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา

ตัวอย่างนี้ใช้ฟังก์ชัน SLN เพื่อส่งกลับค่าเสื่อมราคาแบบเส้นตรงของสินทรัพย์สําหรับรอบระยะเวลาเดียวเนื่องจากต้นทุนเริ่มต้น () ของสินทรัพย์เริ่มต้น (InitCost) มูลค่าซากเมื่อสิ้นสุดอายุการใช้งานของสินทรัพย์ (SalvageVal) และอายุรวมของสินทรัพย์ในปี (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."