У меня есть поле со списком из 4 столбцов (ID, муниципалитет, район (= округ), область (= провинция)).Источник данных взят из 3 связанных таблиц (Муниципалитет, Район, Область).Когда я получаю событие NotInList и добавляю новое имя муниципалитета и идентификатор района в таблицу муниципалитетов, выбирается следующая запись (фокус перемещается к следующей записи) без видимой причины.Если я выбираю существующую запись в поле со списком, текущая запись остается ожидаемой.
Мой код работает, если я использую только стандартную настройку с двумя столбцами.Если я объединю муниципалитет, район и область в одну запись и, следовательно, получу список из 2 столбцов, я получу ту же проблему.Я пробовал разные подходы для обработки события, которое я нашел в Интернете, но проблема остается.Очевидно, что это связано с настройкой многоколонок, но я все еще ищу обходной путь.
AddMunicipality вызывается из нескольких различных форм из события NotInList.AddMunicipalityQuestion получает действительный идентификатор района.
Public Sub AddMunicipality(newData As String, Response As Integer)
Dim newRayon As Integer
Dim newOblast As Integer
On Error GoTo Error_Handler
If AddMunicipalityQuestion(newData, newRayon) Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO tbl_Municipalities (MunName, Rayon) VALUES (""" & newData & """, " & newRayon & ");"
DoCmd.SetWarnings True
Response = acDataErrAdded
Else
MsgBox "Please select a Municipality from the list.", _
vbExclamation + vbOKOnly, "Unknown Municipality"
Response = acDataErrContinue
End If
Exit_Procedure:
DoCmd.SetWarnings True
Exit Sub
Error_Handler:
MsgBox Err.Number & ", " & Err.Description, vbInformation, "AddMunicipality()"
Resume Exit_Procedure
End Sub
Новый муниципалитет добавлен правильно, но по какой-то причине следующая запись (или новая запись) получает фокус.