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

Заранее благодарю.
...
Рейтинг: 0 / 0
24.04.2004, 13:51
    #32495318
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
me.undo
Но это может оказаться не очень надежно.
...
Рейтинг: 0 / 0
24.04.2004, 13:51
    #32495319
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Код: plaintext
1.
Me.Undo
DoCmd.Close
...
Рейтинг: 0 / 0
24.04.2004, 13:52
    #32495320
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
2 ВС
Почему же?
...
Рейтинг: 0 / 0
24.04.2004, 14:01
    #32495325
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Например, юзер может несколько раз нажать на Shift+Enter (Save Record) - и тогда анду отандует ему только то, что сделано после последнего сейва.
...
Рейтинг: 0 / 0
24.04.2004, 14:06
    #32495329
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Согласен.. лажа..
Надо перехватывать Me.Dirty=False
И предупреждать что откат станет не возможен..
...
Рейтинг: 0 / 0
24.04.2004, 14:08
    #32495330
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
А транзакциями? У Гетца все подробно описано, правда для .adp, не знаю, подойдет ли для .mdb
...
Рейтинг: 0 / 0
24.04.2004, 14:10
    #32495334
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
На какой странице
Для mdb устанешь расписывать реализацию транзакции на форму
...
Рейтинг: 0 / 0
24.04.2004, 14:14
    #32495336
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Транзакция была бы хороша еще и потому, что в AfterUpdate какого-нибудь поля может производиться еще какое-нибудь изменение в базе, и обычным Undo его отменить нельзя. Транзакция тут бы была очень кстати.
...
Рейтинг: 0 / 0
24.04.2004, 14:16
    #32495337
zz
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
24.04.2004, 14:20
    #32495339
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
То есть включение формы в транзакцию происходит за счет того, что ее рекордсет и транзакция открываются на одном и том же коннекшне. Похоже, что (хоть в mdb, хоть в adp) то, что написано в AfterUpdate, в эту транзакцию не будет включено и при RollBack не будет откачено.
...
Рейтинг: 0 / 0
24.04.2004, 14:20
    #32495340
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Не прокатит там надо колбаситься в Worspaces (та что ли пишется)
У Гетца том один тоже есть пример, если я помню..
А вот работать с рекордсетом формы может быть черевато глюками!
Мне кажется что это стрем!
Владимир Саныч как считаешь?
...
Рейтинг: 0 / 0
24.04.2004, 14:21
    #32495341
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Хотя с adp я никогда не работал.
...
Рейтинг: 0 / 0
24.04.2004, 14:21
    #32495342
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Хотя стоп, Access ХР поддерживает ADODB рекордсеты для формы?
Если да то прокатит, в 2000 такого не было
...
Рейтинг: 0 / 0
24.04.2004, 14:22
    #32495343
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
См. мое 14:20.
...
Рейтинг: 0 / 0
24.04.2004, 14:27
    #32495348
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Не ну чего скрывать, zz меня озадачил..
Неужели всю работу с формами запихать в транзакции...
мда..
...
Рейтинг: 0 / 0
24.04.2004, 14:28
    #32495350
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Все понятно. mdb не поддерживает более одного подключения (что логично, иначе она сразу бы стала клиент-сервером ) Так что мой способ не катит.
...
Рейтинг: 0 / 0
24.04.2004, 14:29
    #32495352
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
2Пой: кстати, для .adp использую именно транзакции, никаких глюков пока не замечал.
...
Рейтинг: 0 / 0
24.04.2004, 14:36
    #32495353
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
2 zz
Насчет глюков, у меня на форме (табличная подчиненная) висел чекбокс, завязанный на поле smallint, так вот после обращении к свойству
Me.Form.Recordset.RecordCount, чекбокс глючил!
ADP XP, убрал нафиг это обращение и стало все гуд.
А обращался я в одной из функций которая срабатывала на нажатие кнопки в основной форме, и возвращала количество записей в подчиненной табличной.
С тех пор страдаю предубеждением.
Однако очень заманчиво использовать транзакцию!
...
Рейтинг: 0 / 0
24.04.2004, 14:38
    #32495354
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
по поводу чекбокса - это известный глюк, слава богу, проявляется только на чекбоксе.
...
Рейтинг: 0 / 0
24.04.2004, 15:21
    #32495369
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
авторслава богу, проявляется только на чекбоксе.
К сожалению, не только на чекбоксе. При оперециях с me.recordset в форме, в которой разрешено редактирование (ХТ говорит, что если оно не разрешено, то и проблем нет - не знаю, не проверял), жди беды. В любой момент в любом поле (это мои ощущения, я не пытался как-нибудь классифицировать поведение акцесса), акцесс может выпасть в "выполнил недопустимую операцию), или просто начать генерить непонятные ошибки.
...
Рейтинг: 0 / 0
24.04.2004, 15:25
    #32495374
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
Согласен с Geo, но вот вопрос,
а что если из всех операций с рекордсетом мы ограничимся лишь
SET Me.Recordset=Rst
как предлагает zz.
Тогда транзакция у нас в руках
А насчет "Недопустимых операций" тоже видал и не раз.. мда.
...
Рейтинг: 0 / 0
24.04.2004, 15:28
    #32495378
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
не знаю, у меня вот уже год крутится .adp с реализованными транзакциями через me.recordset, формы разрешены для редактирования, пока обвалов и вылетов не наблюдалось...
...
Рейтинг: 0 / 0
24.04.2004, 15:33
    #32495383
2ПОЙ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
2 zz
Убедил черт красноречивый , сегодня же на одну из форм (маленьких) повешу алгоритм с транзакцией!
...
Рейтинг: 0 / 0
24.04.2004, 15:37
    #32495388
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать кнопку "Отмена" в форме?
2 2ПОЙ (или 22 ПОЙ):

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


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