I would use two simple functions to do this:
Code:
Function GetGender(IDNumber) As String
If Mid([IDNumber],7,1)>4 Then
GetGender="M"
Else
GetGender="F"
End If
End Function
Code:
Function GetDOB(IDNumber) As Date
'assumes DOB format is dd/mm/yy but should be displayed using your default date format
GetDOB = Mid([IDNumber], 5, 2) & "/" & Mid([IDNumber], 3, 2) & "/" & Left([IDNumber], 2)
End Function
Assuming the data is stored in a table tblClients with fields IDNumber, Gender, DOB, Nationality then use an update query as follows
Code:
UPDATE tblClients SET tblClients.Gender = GetGender([IDNumber]), tblClients.DOB = GetDOB([IDNumber])
WHERE (((tblClients.Nationality)='South African'));