powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать кнопку "Отмена" в форме?
25 сообщений из 34, страница 1 из 2
Как сделать кнопку "Отмена" в форме?
    #32495317
Виталий Сивцев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно создать форму только с добавлением данных в таблицу с кнопками "ОК" и "Отмена".
Кнопку "ОК" сделал, использовав команду DoCmd.Close
Но вот кнопку "Отмена" - не могу. Если использовать ту же команду DoCmd.Close, то она при выходе сохраняет набранную в полях информацию в таблице.
Что нужно сделать, чтобы набранная информация в полях не сохранялась в таблице?

Заранее благодарю.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495318
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
me.undo
Но это может оказаться не очень надежно.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495319
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Me.Undo
DoCmd.Close
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495320
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС
Почему же?
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495325
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Например, юзер может несколько раз нажать на Shift+Enter (Save Record) - и тогда анду отандует ему только то, что сделано после последнего сейва.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495329
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен.. лажа..
Надо перехватывать Me.Dirty=False
И предупреждать что откат станет не возможен..
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495330
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А транзакциями? У Гетца все подробно описано, правда для .adp, не знаю, подойдет ли для .mdb
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495334
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На какой странице
Для mdb устанешь расписывать реализацию транзакции на форму
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495336
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Транзакция была бы хороша еще и потому, что в AfterUpdate какого-нибудь поля может производиться еще какое-нибудь изменение в базе, и обычным Undo его отменить нельзя. Транзакция тут бы была очень кстати.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495337
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страницу не помню :)

dim cnn as new adodb.connection
dim rst as new adodb.recordset

На Form_Load:
cnn.connectionstring=currentproject.connection
rst.open "MyTable",cnn, adOpenKeyset, adLockPessimistic
set me.recordset=rst
cnn.begintrans

На ButCancel_Click:
cnn.rollback

На ButOK_Click:
cnn.commit

Что, для mdb так не прокатит?
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495339
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
То есть включение формы в транзакцию происходит за счет того, что ее рекордсет и транзакция открываются на одном и том же коннекшне. Похоже, что (хоть в mdb, хоть в adp) то, что написано в AfterUpdate, в эту транзакцию не будет включено и при RollBack не будет откачено.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495340
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не прокатит там надо колбаситься в Worspaces (та что ли пишется)
У Гетца том один тоже есть пример, если я помню..
А вот работать с рекордсетом формы может быть черевато глюками!
Мне кажется что это стрем!
Владимир Саныч как считаешь?
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495341
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Хотя с adp я никогда не работал.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495342
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя стоп, Access ХР поддерживает ADODB рекордсеты для формы?
Если да то прокатит, в 2000 такого не было
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495343
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
См. мое 14:20.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495348
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не ну чего скрывать, zz меня озадачил..
Неужели всю работу с формами запихать в транзакции...
мда..
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495350
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все понятно. mdb не поддерживает более одного подключения (что логично, иначе она сразу бы стала клиент-сервером ) Так что мой способ не катит.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495352
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Пой: кстати, для .adp использую именно транзакции, никаких глюков пока не замечал.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495353
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 zz
Насчет глюков, у меня на форме (табличная подчиненная) висел чекбокс, завязанный на поле smallint, так вот после обращении к свойству
Me.Form.Recordset.RecordCount, чекбокс глючил!
ADP XP, убрал нафиг это обращение и стало все гуд.
А обращался я в одной из функций которая срабатывала на нажатие кнопки в основной форме, и возвращала количество записей в подчиненной табличной.
С тех пор страдаю предубеждением.
Однако очень заманчиво использовать транзакцию!
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495354
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу чекбокса - это известный глюк, слава богу, проявляется только на чекбоксе.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495369
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторслава богу, проявляется только на чекбоксе.
К сожалению, не только на чекбоксе. При оперециях с me.recordset в форме, в которой разрешено редактирование (ХТ говорит, что если оно не разрешено, то и проблем нет - не знаю, не проверял), жди беды. В любой момент в любом поле (это мои ощущения, я не пытался как-нибудь классифицировать поведение акцесса), акцесс может выпасть в "выполнил недопустимую операцию), или просто начать генерить непонятные ошибки.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495374
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с Geo, но вот вопрос,
а что если из всех операций с рекордсетом мы ограничимся лишь
SET Me.Recordset=Rst
как предлагает zz.
Тогда транзакция у нас в руках
А насчет "Недопустимых операций" тоже видал и не раз.. мда.
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495378
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, у меня вот уже год крутится .adp с реализованными транзакциями через me.recordset, формы разрешены для редактирования, пока обвалов и вылетов не наблюдалось...
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495383
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 zz
Убедил черт красноречивый , сегодня же на одну из форм (маленьких) повешу алгоритм с транзакцией!
...
Рейтинг: 0 / 0
Как сделать кнопку "Отмена" в форме?
    #32495388
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 2ПОЙ (или 22 ПОЙ):

Но только если нигде нет AfterUpdate.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать кнопку "Отмена" в форме?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]