|
|
|
Откат (отмена) в MDB проекте
|
|||
|---|---|---|---|
|
#18+
На летночной форме в поле "Количество" выведен столбец чисел из таблицы. Для поля "Количество" записана процедура Private Sub Количество_AfterUpdate() MySum = DSum("Количество", Me.RecordSource) End Sub где MySum - глобальная переменная, в которой хранится текущая сумма по столбцу. Вопрос: Пользователь нажал комбинацию клавиш Cntl-Z или выполнил команду "Отменить" в меню. Что делать, если переменной MySum хранится неверное значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 09:06 |
|
||
|
Откат (отмена) в MDB проекте
|
|||
|---|---|---|---|
|
#18+
Посмотри св-во поля OldValue. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 09:13 |
|
||
|
Откат (отмена) в MDB проекте
|
|||
|---|---|---|---|
|
#18+
Вот мы и узнали, как Виталий считает суммы. Чтобы заработал предыдущий вопрос (как видно из соответствующий ветки), надо писать: Private Sub Количество_AfterUpdate() docmd.runcommand accmdsaverecord MySum = DSum("Количество", Me.RecordSource) End Sub Тогда проблемы отката не будет, т.к. не будет отката. Здесь Dsum тоже не учитывает введенные, но не сохраненные изменения. Так что вопрос не совсем корректен. А вообще, есть события Private Sub Form_Undo(Cancel As Integer) End Sub и Private Sub Control_Undo(Cancel As Integer) End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 09:27 |
|
||
|
Откат (отмена) в MDB проекте
|
|||
|---|---|---|---|
|
#18+
2 Geo Более корректно моя процедура выглядит так Private Sub Количество_AfterUpdate() Me.Recordset.Move 0 '(по-крестьянски) MySum = DSum("Количество", Me.RecordSource) End Sub Я пробовал найти замену использования функции DSum. Подключил интеллект всемирной сети. Вроде бы неплохо смотрелся Recalc с использования контрола суммирования в примечании. Но я от него отказался, так при вызове метода Recalc сбиваются текущие записи в соседней форме. Наверно это из-за того что вбиваю количества в модальной форме. Признателен за советы. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 11:01 |
|
||
|
Откат (отмена) в MDB проекте
|
|||
|---|---|---|---|
|
#18+
Вводим новое значения в поле "Количество" Срабатывает процедура Private Sub Количество_AfterUpdate Me.Recordset.Move 0 'Можно написать Me.Dirty=False или DoCmd.RunCommand accmdSaveRecord End Sub Нажимаю Ctrl-Z, происходит отмена последнего редактирования. В данном случае мне это не нужно. Как отключить действия этих горячих клавиш? Процедура Form_Undo(Cancel as Integer) не запускается при нажатии клавиш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 19:10 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1680&tid=1676615]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 284ms |
| total: | 437ms |

| 0 / 0 |
