Сохранять только по кнопке!!!

Простоинтересующийся
Дата: 01.12.2006 14:10:52
Честно говоря сам плохо понимаю, но не работает так как хочу!
Дело в том, что мне жизненно необходимо сохранять значение в таблицу только по кнопке, у меня есть одна форма - ленточная, открываю по интересующей меня записи страничную форму, есть кнопка, в которой я применяю Me.Dirty=False, а есть кнопка Exit, с помощью которой я закрываю текущую форму DoCmd.Close acForm, Me.Name, acSaveNo...
Но почему то, параметр acSaveNo не работает...
На страничной форме значения для поля выбираются из полей со списком...
Подскажите как запретить сохранение не по кнопке!
mds_world
Дата: 01.12.2006 14:20:24
Самое надежное - открывать вторую форму не связанную с источником данных, со свободными контролами. Тогда, только по нажатию кнопки вы их помещаете в таблицу, скажем запросом на добавление или изменение, иначе они никак в таблицу не смогут попасть.
Простоинтересующийся
Дата: 01.12.2006 14:26:55
mds_world
Самое надежное - открывать вторую форму не связанную с источником данных, со свободными контролами. Тогда, только по нажатию кнопки вы их помещаете в таблицу, скажем запросом на добавление или изменение, иначе они никак в таблицу не смогут попасть.


Согласен... Но уже сделано таким образом, переделывать возможности нет, может кто подскажет как бороться???
bubucha
Дата: 01.12.2006 14:29:58
автор
Согласен... Но уже сделано таким образом, переделывать возможности нет, может кто подскажет как бороться???

Ну кое-чего повсякому надо переделывать. Как вариант - запоминать занчения контролов, по кнопке cancel - вертать их в зад.
mds_world
Дата: 01.12.2006 14:33:54
Ну сделайте форму модальной, уберите все оконные кнопки. Кнопка Сохранить и кнопка Выход без сохранения. Для реализации второго случая при входе запоминайте все исходные данные в переменных, при выходе восстанавливайте из переменных.
Простоинтересующийся
Дата: 01.12.2006 14:45:09
Если больше варинтов не существует, буду переделывать на инсерты... Спасибочки!!
aleks2
Дата: 01.12.2006 15:19:30
Простоинтересующийся
Если больше варинтов не существует, буду переделывать на инсерты... Спасибочки!!


Открыть рекордсет с параметрами для UpdateBatch и назначить источником данных формы. На кнопку повесить: UpdateBatch. Наслаждаться.
BoNiM
Дата: 01.12.2006 15:29:28
Может так. Создать для формы логическу переменную, например, lp. При открытии формы lp=True. При нажатии на кнопку Сохранить lp=False: RunCommand acCmdSaveRecord. В Form_BeforeUpdate поместить Cancel=lp: If Not lp Then lp = True. На кнопку Exit повесить Me.Undo
rok
Дата: 01.12.2006 16:18:09
А может отменять закрытие, если кнопка не нажата?