suthera โพสต์ 2019-8-12 22:04:56

vb6 ขอตัวอย่างการคำนวณอายุงานครับ แสดงผลเป็นทำงานมาแล้ว วัน/เดือน/ปี ครับ

จะรบกวน ใช้vb6 เขียนเพื่อคำนวณอายุงานครับ ขอcodeเพื่อศึกษาด้วยครับ แสดงผลเป็นทำงานมาแล้ว วัน/เดือน/ปี ครับ

thongkorn โพสต์ 2019-8-13 18:25:12

ฟังค์ชั่นในการคำนวณหาอายุ หรือความแตกต่างของเวลา สามารถรีเทิร์นค่าเป็นจำนวนปี เดือน วัน ...
' /-----------------------------------------------------------------------------------
' / ฟังค์ชั่นที่ใช้คำนวณหาอายุ และคืนค่ากลับแบบ 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"))

suthera โพสต์ 2019-8-13 20:51:41

งมอยู่นานครับ ขอบคุณครับ:loveliness:

suthera โพสต์ 2019-8-13 20:54:23

thongkorn ตอบกลับเมื่อ 2019-8-13 18:25
ฟังค์ชั่นในการคำนวณหาอายุ หรือความแตกต่างของเวลา สา ...

จะติดตามwebนี้ยาวๆๆๆๆๆๆๆๆๆๆๆๆๆๆเลยครับ แต่คงมีข้อสงสัยเยอะคงต้องรบกวนอีกหลายรอบครับ{:3_60:}

my2alee โพสต์ 2019-8-21 12:15:27

ขอบคุณมาก อ. SAVE เก็บไว้เผื่อใช้ครับ
หน้า: [1]
ดูในรูปแบบกติ: vb6 ขอตัวอย่างการคำนวณอายุงานครับ แสดงผลเป็นทำงานมาแล้ว วัน/เดือน/ปี ครับ