أضف اختيارا إلى قائمة مربع التحرير والسرد عن طريق إضافة سجل إلى الجدول الخاص بمصدر الصف في حدث NotInList لمربع التحرير والسرد.
الكود داخل الموديول
Public Sub CmboNotInList(ByVal strTableName As String, ByVal strFieldName As String, ByVal strNewData As String, ByRef intResponse As Integer)
On Error GoTo Proc_Err
Dim sSQL As String
Dim sMsg As String
intResponse = acDataErrContinue
sMsg = """" & strNewData & """ is not in the current list. " & vbCrLf & vbCrLf & "Do you want to add it? "
If MsgBox(sMsg, vbYesNo, "Add New Data") <> vbYes Then
GoTo Proc_Exit
End If
sSQL = "INSERT INTO [" & strTableName & "] " & "([" & strFieldName & "])" & " SELECT """ & strNewData & """;"
With CurrentDb
.Execute sSQL
If .RecordsAffected > 0 Then
intResponse = acDataErrAdded
End If
End With
Proc_Exit:
Exit Sub
Proc_Err:
MsgBox Err.Description, , "ERROR " & Err.Number & " CmboNotInList"
Resume Proc_Exit
Resume
End Sub
يتم استدعاء الكود فى الحدث >>------> عند عدم الوجود فى القائمة - NotInList من خلال الكود الاتى
Call CmboNotInList("tableName", "FieldName", NewData, Response)
المرفق
Not In List.mdb