|
|
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Нужно создать форму только с добавлением данных в таблицу с кнопками "ОК" и "Отмена". Кнопку "ОК" сделал, использовав команду DoCmd.Close Но вот кнопку "Отмена" - не могу. Если использовать ту же команду DoCmd.Close, то она при выходе сохраняет набранную в полях информацию в таблице. Что нужно сделать, чтобы набранная информация в полях не сохранялась в таблице? Заранее благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 13:47 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
me.undo Но это может оказаться не очень надежно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 13:51 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 13:51 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
2 ВС Почему же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 13:52 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Например, юзер может несколько раз нажать на Shift+Enter (Save Record) - и тогда анду отандует ему только то, что сделано после последнего сейва. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:01 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Согласен.. лажа.. Надо перехватывать Me.Dirty=False И предупреждать что откат станет не возможен.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:06 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
А транзакциями? У Гетца все подробно описано, правда для .adp, не знаю, подойдет ли для .mdb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:08 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
На какой странице Для mdb устанешь расписывать реализацию транзакции на форму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:10 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Транзакция была бы хороша еще и потому, что в AfterUpdate какого-нибудь поля может производиться еще какое-нибудь изменение в базе, и обычным Undo его отменить нельзя. Транзакция тут бы была очень кстати. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:14 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Страницу не помню :) 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 так не прокатит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:16 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
То есть включение формы в транзакцию происходит за счет того, что ее рекордсет и транзакция открываются на одном и том же коннекшне. Похоже, что (хоть в mdb, хоть в adp) то, что написано в AfterUpdate, в эту транзакцию не будет включено и при RollBack не будет откачено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:20 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Не прокатит там надо колбаситься в Worspaces (та что ли пишется) У Гетца том один тоже есть пример, если я помню.. А вот работать с рекордсетом формы может быть черевато глюками! Мне кажется что это стрем! Владимир Саныч как считаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:20 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Хотя с adp я никогда не работал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:21 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Хотя стоп, Access ХР поддерживает ADODB рекордсеты для формы? Если да то прокатит, в 2000 такого не было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:21 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
См. мое 14:20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:22 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Не ну чего скрывать, zz меня озадачил.. Неужели всю работу с формами запихать в транзакции... мда.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:27 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Все понятно. mdb не поддерживает более одного подключения (что логично, иначе она сразу бы стала клиент-сервером ) Так что мой способ не катит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:28 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
2Пой: кстати, для .adp использую именно транзакции, никаких глюков пока не замечал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:29 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
2 zz Насчет глюков, у меня на форме (табличная подчиненная) висел чекбокс, завязанный на поле smallint, так вот после обращении к свойству Me.Form.Recordset.RecordCount, чекбокс глючил! ADP XP, убрал нафиг это обращение и стало все гуд. А обращался я в одной из функций которая срабатывала на нажатие кнопки в основной форме, и возвращала количество записей в подчиненной табличной. С тех пор страдаю предубеждением. Однако очень заманчиво использовать транзакцию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:36 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
по поводу чекбокса - это известный глюк, слава богу, проявляется только на чекбоксе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 14:38 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
авторслава богу, проявляется только на чекбоксе. К сожалению, не только на чекбоксе. При оперециях с me.recordset в форме, в которой разрешено редактирование (ХТ говорит, что если оно не разрешено, то и проблем нет - не знаю, не проверял), жди беды. В любой момент в любом поле (это мои ощущения, я не пытался как-нибудь классифицировать поведение акцесса), акцесс может выпасть в "выполнил недопустимую операцию), или просто начать генерить непонятные ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 15:21 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
Согласен с Geo, но вот вопрос, а что если из всех операций с рекордсетом мы ограничимся лишь SET Me.Recordset=Rst как предлагает zz. Тогда транзакция у нас в руках А насчет "Недопустимых операций" тоже видал и не раз.. мда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 15:25 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
не знаю, у меня вот уже год крутится .adp с реализованными транзакциями через me.recordset, формы разрешены для редактирования, пока обвалов и вылетов не наблюдалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 15:28 |
|
||
|
Как сделать кнопку "Отмена" в форме?
|
|||
|---|---|---|---|
|
#18+
2 zz Убедил черт красноречивый , сегодня же на одну из форм (маленьких) повешу алгоритм с транзакцией! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 15:33 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32495352&tid=1675085]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 454ms |

| 0 / 0 |
