|
|
|
| Скажите пожалуйста, у меня возник вопрос, можно ли при использовании ленточной формы, сделать так чтобы запись сохранялась в таблице только после нажатия стандартной кнопки работы с записями "Сохранить запись"??? Если да, то как правильно это сделать? Хочется чтобы сохранение в таблицы происходило только по команде оператора.
п.с. форма может быть и одиночная. я просто тему неправильно назвал, правильно было бы написать "сохранение на связной форме". | |
|
| |
|
|
|
| Как вариант
Создать форму без источника данных.
На нее положить свободные поля из которых данные будут заноситься в таблицу.
Данные из этих полей запросом на добавление добавлять в таблицу | |
|
| |
|
|
|
| этот вариант понятен :) INSERT СПАСЕТ:)
Но вопрос именно можно ли как то запретить автосохранение на связной форме? | |
|
| |
|
|
|
| Так что никто ничего не придумал? Просто выставить Cancel=True на событие Before_update не позволить отработать кнопки сохранения DoCmd... | |
|
| |
|
|
|
| дело в том что сохранение записи происходит в момент "ухода" с этой записи, т.е. как только в ленточной форме вы переместились на другую запись, та которую редактировали уже сохранилась.
Добавлено:
Сори, ляпнул не в тему, плохо понял что было нужно | |
|
| |
|
|
|
| Ну так создайте переменную в заголовке модуля.
На Click кнопки: Fl = Me.Dirty
На Before_update: Cancel = Not Fl
На After_update: Fl = False | |
|
| |
|
|
|
| спасибо что то подобное крутилось в голове но что то не получилось до конца, попробу такой вариант.
п.с. Fl = Me.Dirty я выставляю в событии нажатия кнопки сохранения, до выполнения команды сохранения DoCmd...
я правильно понял? | |
|
| |
|
|
|
| спасибо еще раз! все гениальное просто:) этот алгоритм работает!
только еще надо отлов ошибки поставить на Form_Error, чтобы не выскакивало акцесовское предупреждение об ошибке при попытке сохранить (а оно возникает если в бефор_апдайте cancel=true).
что то типа
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case 2169 'игнорирование ошибки о невозможноси сохранить объект и закрытие базы
Response = acDataErrContinue
End Select
End Sub | |
|
| |