ทุกท่านครับ ผมต้องการคำนวณหาอายุงาน โดยมีเงื่อนไขดังนี้
1. ผมมี Field
CompanyHiringDate เพื่อบันทึกวันที่เข้างาน และ
TerminateDate เพื่อบันทึกวันออกจากงาน
2. เงื่อนไขผมคือ หากพนักงานยังทำอยู่ จะไม่มีวันที่ระบุในช่อง
TerminateDate การคำนวณจะคำนวณตั้งแต่วันเข้างานถึงปัจจุบัน
แต่ถ้าพนักงานลาออกจากงาน จะมีการระบุวันที่ออกจากงานในช่อง
TerminateDate ให้คำนวณเฉพาะช่วงวันเข้างาน
(CompanyHiringDate) ถึงวันที่ออกจากงาน
(TerminateDate) โดยผมเขียน Expression ตามคลิปด้านล่างนี้ครับ ซึ่งเป็นการคำนวณตั้งแต่เข้างาน จนถึงปัจจุบัน ไปเรื่อยๆไม่สิ้นสุด
คำถามคือ จะทำอย่างไรให้หยุดคำนวณตามช่วงเวลา เมื่อมีการระบุวันที่ออกจากงาน หรือมีวิธีอื่นที่ดีกว่า รบกวนแนะนำด้วยนะครับ
รบกวนด้วยนะครับ ขอบคุณครับ
หมายเหตุ:Expression ที่ผมใช้ คือ
คำนวณวัน CompanyHiringDate_Day:
IIf(DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date())<0,DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date())-1,[CompanyHiringDate]),Date()),DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date()))
คำนวณเดือน CompanyHiringDate_Month: IIf(DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date())<0,(DateDiff("m",[CompanyHiringDate],Date())-1) Mod 12,DateDiff("m",[CompanyHiringDate],Date()) Mod 12)
คำนวณปี CompanyHiringDate_Year: IIf(DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date())<0,(DateDiff("m",[CompanyHiringDate],Date())-1)\12,DateDiff("m",[CompanyHiringDate],Date())\12)