I hope that you find this as helpful as I have.

When using the NOT_IN_LIST Event to update a combo box with new information, 
the user is not allowed to use temporary information. That is, they must 
either use info currently in the list, or add the new info to the box and
then use it. This code will allow the user to enter info into a combo box 
and optionally save it.

Put this code in the AfterUpdate Evemt of the combo box and then
leave the LIMIT TO LIST propery set to NO.

The table you are going to insert the data into can only have one field
(or two fields if one of them is a counter).



On Error GoTo Combo_AfterUpdate_error


z = Me![COMBO BOX] 'This is the box that you optionally will save into in

'-----------------------------------------------------------------
'This checks to see if the item is already in the combo boxes list
'------------------------------------------------------------------
x = DCount("[**FIELD NAME**]", "**TABLE NAME**", "[**FIELD NAME**] = form.[COMBO BOX]") 'ck to see if this value is in the list already

If x = 0 Then

    a = Me![COMBO BOX]
    box = MsgBox("Do you wish to add '" & UCase(a) & "' to the drop down box contents for future repeated use?", 36, "Input Required")
    
    If box = 6 Then
	'----------------------------------
	'This series updates your combo box
	'----------------------------------    
        DoCmd SetWarnings False
        DoCmd RunSQL "INSERT INTO [**TABLE**] (**FIELD NAME**) Values ('" & z & "');" 
        Me![COMBO BOX].Requery
        DoCmd SetWarnings True
    
    ElseIf box = 7 Then
    
        Exit Sub
    
    End If
    
End If


Combo_AfterUpdate_exit:
    Exit Sub

Combo_AfterUpdate_error:
    MsgBox Error$ & " - " & Err
    Exit Sub

