I do not think so, I used it successfully for over 5K records?
Here is my code for the CrewName
Code:
Private Sub Crew_ID_NotInList(NewData As String, Response As Integer)
'Dim strSurname As String
'NewData = Left(NewData, InStr(NewData, " ") - 1)
'Response = AddNewToList(mixed_case(NewData), "Crew", "Surname", "Crews", "frmCrew")
Dim txtSurname As String, txtInitials As String, strPKField As String
Dim intNewID As Long
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String, strNewForm As String
Response = acDataErrContinue
strNewForm = "frmCrew"
If MsgBox(NewData & " is not in list. Add it?", vbYesNo) = vbYes Then
strSQL = "SELECT * from Crew WHERE 1 = 0"
Set db = CurrentDb()
Set rs = db.OpenRecordset(strSQL)
'Need to check if name does have initials, some crew do not have/use them
If InStr(1, NewData, " ") Then
txtSurname = Left(mixed_case(NewData), InStr(1, NewData, " ") - 1)
txtInitials = UCase(Trim(Mid(NewData, InStr(1, NewData, " ") + 1)))
Else
txtSurname = mixed_case(NewData)
txtInitials = ""
End If
rs.AddNew
' add dummy cabin just to get to form
rs!Cabin = "C"
rs!Surname = txtSurname
rs!Initials = txtInitials
strPKField = rs(0).Name 'Find name of Primary Key (ID) Field
rs.Update
rs.Move 0, rs.LastModified
intNewID = rs(strPKField)
DoCmd.OpenForm strNewForm, , , strPKField & "=" & intNewID, , acDialog
Response = acDataErrAdded
MyExit:
rs.Close
Set rs = Nothing
Set db = Nothing
Else
Response = acDataErrDisplay
End If
End Sub