I have a function that calculates the age of someone. The problem is that I am using a database with about 6000 records and each record goes through this process and really slows down the record retrieving process. Is there any way I can speed this process up? I thought about using a statement in SQL, but I havn't found anything yet.
Thanks

Public Sub RetrieveDebtors(ClientId as String)
Dim lstItem as ListItem
Dim intItem as Integer
Dim intCount as Integer

'Retrieves the count of records to be accessed
Set recDebtors = dbsData.OpenRecordset("SELECT COUNT(*)" & _
" AS intCount FROM Debtors WHERE ClientId = '" & _
ClientId & "'")
intCount = recDebtors!intCount

'Retrieves the records
Set recDebtors = dbsData.OpenRecordset("SELECT * FROM " & _
Debtors WHERE ClientId= '" & strDebtorId & _
"' ORDER BY DebtorId DESC")

'Adds the items to the list
For intItem = 1 To intCount
Set lstItem = vewNotes.ListItems.Add()
With lstItem
.SmallIcon = 1
.Key = recDebtors!Id
.Text = FullName(recDebtors!First, recDebtors!Last)
.SubItems(1) = recDebtors!Birthdate
.SubItems(2) = Age(recdebtor!Birthdate)
End With
recNotes.MoveNext
Next
End Sub()

Private Function Age(ByVal strBirth As Date) As Integer
Dim intYear As Integer
Dim strCurrent As String
Dim datBirth As Date

datBirth = CDate(strBirth)
If datBirth <= Date Then 'Date selected is less
'than current date
strCurrent = Format(Date, "mm/dd")
strBirth = Format(strBirth, "mm/dd")
intYear = Year(Date) - Year(cboBirthday)

'Determines is month and day of birth has exceeded
'the current month and day
If strCurrent < strBirth Then
'Current month and day has not reached the
'birth month and day
intYear = intYear - 1
End If

Else 'Date selected is greater than current date
MsgBox "The birthdate selected is greater " & _
"than the current date.", vbInformation, "Birthdate"
intYear = 0
End If

Age = intYear 'Returns the age
End Function