vb6 ขอตัวอย่างการคำนวณอายุงานครับ แสดงผลเป็นทำงานมาแล้ว วัน/เดือน/ปี ครับ
จะรบกวน ใช้vb6 เขียนเพื่อคำนวณอายุงานครับ ขอcodeเพื่อศึกษาด้วยครับ แสดงผลเป็นทำงานมาแล้ว วัน/เดือน/ปี ครับฟังค์ชั่นในการคำนวณหาอายุ หรือความแตกต่างของเวลา สามารถรีเทิร์นค่าเป็นจำนวนปี เดือน วัน ...
' /-----------------------------------------------------------------------------------
' / ฟังค์ชั่นที่ใช้คำนวณหาอายุ และคืนค่ากลับแบบ String
' / เราสามารถคืนค่ากลับ สามารถแยกเป็นปี เดือน วัน 3 ค่าได้
' / ด้วยเทคนิคง่ายๆ คือ การใช้เครื่องหมาย Colon คั่นเอาไว้ เช่น ปี:เดือน:วัน
' / โดยทางฝั่งที่เรียกมาหายังฟังค์ชั่น ก็ใช้คำสั่ง Split เพื่อแยกค่าออกจากกัน
Public Function CalcAge(sDate As Date, eDate As Date) As String
' /-----------------------------------------------------------------------------------
Dim vDays As Integer
Dim vMonths As Integer
Dim vYears As Integer
' Parameters:
' sDate - ค่าวันเดือนปีเกิด (หรือวันเดือนปีที่ต้องการคำนวณหา)
' eDate - คำนวณเทียบกับวันเดือนปีปัจจุบัน (Now())
' Results:
' vYears - เก็บค่าความแตกต่างของจำนวนปี
' vMonths - เก็บค่าความแตกต่างของจำนวนเดือน
' vDays - เก็บค่าความแตกต่างของจำนวนวัน
' หาความแตกต่างของจำนวนเดือน
vMonths = DateDiff("m", sDate, eDate)
vDays = DateDiff("d", DateAdd("m", vMonths, sDate), eDate)
If vDays < 0 Then
vMonths = vMonths - 1
vDays = DateDiff("d", DateAdd("m", vMonths, sDate), eDate)
End If
vYears = vMonths \ 12 ' หารตัดเศษก็จะได้จำนวนปี
vMonths = vMonths Mod 12 ' การหารเอาเศษ โดยจะมีค่าระหว่าง 0, 1, 2, ... 11 ไม่มีทางเท่ากับ หรือ มากกว่า 12
CalcAge = vYears & " ปี " & vMonths & " เดือน " & vDays & " วัน"
End Function
การใช้งานต้องระวังปีในแต่ละเครื่องว่าเป็นปี พ.ศ. หรือ ค.ศ. กรณีเครื่องผมเป็นปี ค.ศ.
MsgBox CalcAge("01/01/2019", Format(Now(), "dd/MM/yyyy"))
งมอยู่นานครับ ขอบคุณครับ:loveliness: thongkorn ตอบกลับเมื่อ 2019-8-13 18:25
ฟังค์ชั่นในการคำนวณหาอายุ หรือความแตกต่างของเวลา สา ...
จะติดตามwebนี้ยาวๆๆๆๆๆๆๆๆๆๆๆๆๆๆเลยครับ แต่คงมีข้อสงสัยเยอะคงต้องรบกวนอีกหลายรอบครับ{:3_60:} ขอบคุณมาก อ. SAVE เก็บไว้เผื่อใช้ครับ
หน้า:
[1]