- 액세스 버전(95,97,2000,xp,2003,2007):
* 아래줄에 질문을 작성하세요 >>
아래같이 모듈을 해보니 엑셀(첨부)과 정확하게 일치가 안되는데 뭐가
문제인지 알려주시면 감사하겠습니다. 자꾸 질문드려 죄송합니다ㅜ
Public Function Age(주민등록번호 As String, 월별급여 As Date) As
Integer
Dim varYear As Integer
Dim varBirthDay As Date
Dim varAge As Variant
Select Case Mid(주민등록번호, 7, 1)
Case 1, 2, 5, 6
varYear = 1900 + Left(주민등록번호, 2)
Case 3, 4, 7, 8
varYear = 2000 + Left(주민등록번호, 2)
Case 9, 0
varYear = 1800 + Left(주민등록번호, 2)
End Select
varBirthDay = DateSerial(varYear, Mid(주민등록번호, 3, 2), Mid(주민
등록번호, 5, 2))
varAge = DateDiff("yyyy", varBirthDay, 월별급여)
If Date < DateSerial(Year(월별급여), Month(varBirthDay),
Day(varBirthDay)) Then
varAge = varAge - 1
End If
Age = CInt(varAge)
End Function
========[대왕초보님 글에 대한 답변입니다]========
Public Function workYears(입사일 As Date, 퇴사일 As Date) As Integer
workYears = DateDiff("yyyy", 입사일, 퇴사일)
If 퇴사일 < DateSerial(Year(퇴사일), Month(입사일), Day(입사일))
Then
workYears = workYears - 1
End If
workYears = CInt(workYears)
End Function
시작일-종료일 이라고 했을때
시작일 = 입사일자
종료일 = 월별급여?
라고 보면 되나요?
위 코드에서 입사일 퇴사일 을 적절한 필드명으로 바꿔보세요.