Sergei_fknjdsdf
Дата: 14.11.2009 23:33:37
Всем привет! Помогите пожалуйста решить следующую проблему:
В форме ввода данных о сотрудниках создал поле со списком, которое ищет запись.
Причем при наборе фамилии происходит автоподстановка, если такая фамилия существует.
Как сделать, чтобы при вводе фамилии в случае если такая запись отсутствует, при нажатии клавиши "Ввод" появлялось сообщение типа "такого сотрудника нет. Добавить?" и кнопки Да/нет. При нажатии Да создавалась бы новая запись, с введенной новой фамилией? Если же такая фамилия уже есть то производился бы переход на эту запись (как оно сейчас и работает).
Sergei_fknjdsdf
Дата: 19.11.2009 17:53:30
mds_world,
нашел то, что мне нужно под темой "Ввод данных с формы в связанные таблицы с помощью поля со списком." Правда кое-что пришлось уточнить.
Sergei_fknjdsdf
Дата: 09.07.2010 20:46:17
Все виденные мною способы обработки события NotInList делают примерно одно и то-же: создают новую запись, после чего пытаются обновить форму (Response = acDataErrAdded), но в случае если в форме присутствуют обязательные для ввода поля, возникает ошибка, т.к. они не заполнены. Я сделал процедуру обработки по другому:
Private Sub ПолеСоСписком1_NotInList(NewData As String, Response As Integer)
Dim strMsg As String
strMsg = "Значение '" & NewData & "' отсутствует в списке. Добавить?"
If vbNo = MsgBox(strMsg, vbYesNo + vbQuestion, _
"Новый работник") Then
Response = acDataErrDisplay
Else
ПолеСоСписком1.Value = Null
DoCmd.GoToRecord , , acNewRec
Фамилия.Value = NewData
Фамилия.SetFocus
Response = acDataErrContinue
End If
End Sub
Она работает именно как мне надо. Что скажут профессионалы?