powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сохранение данных
6 сообщений из 6, страница 1 из 1
Сохранение данных
    #32426337
novss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужна помощь в следующем вопросе.
Есть список заказов (список - форма в табличном виде). Идея в том, что пользователь выбирает строчку, нажимает "Подробнее...", появляется форма в режиме Read only, если он хочет что-то исправить - нажимает "Редактировать".
Потом изменяет, после этого нажимает "Сохранить".

На кнопку "Сохранить" повешено событие

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub cmbEdit_Click()

    If Form.AllowEdits = False Then
            Form.AllowEdits = True
       Else
            If MsgBox( "Сохранить запись?" , vbQuestion + vbYesNo) = vbYes Then
                    DoCmd.RunCommand acCmdSaveRecord
                Else
                    DoCmd.RunCommand acCmdUndo
            End If

            Form.AllowEdits = False
            
    End If

End Sub


Проблема возникает в том случае, если пользователь сначала вошел в режим Правки, ничего не изменил и нажал на кнопку "Сохранить" и Cancel, появляется ошибка, Runtime error 2046 что "Команда или макрокоманда Отменить в данный момент недоступна."
Как обойти эту ошибку.
...
Рейтинг: 0 / 0
Сохранение данных
    #32426354
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переделать этот SUB в Функцию...
Сделать кнопку не "Сохранить" а "ВЫХОД", событием которой сделать просто закрытие формы...НО...
на событие изменения данных в форме вешать на эту кнопку функцию по сохранению...
(в твоем случае, по-моему - начинает выполняться UNDO, хотя ничего не менялось и это генерирует ошибку)
...
Рейтинг: 0 / 0
Сохранение данных
    #32426363
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, так...
btExit - кнопка "Выход"

Private Sub Form_Dirty()
btExit.OnClick = "FunctionSaving ()"
End Sub

Private Function FunctionSaving()

If Form.AllowEdits = False Then
Form.AllowEdits = True
Else
If MsgBox("Сохранить запись?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdSaveRecord
Else
DoCmd.RunCommand acCmdUndo
End If

Form.AllowEdits = False

End If

End Function
...
Рейтинг: 0 / 0
Сохранение данных
    #32426372
novss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
м-м-м

а нельзя ли как-нибудь по другому обойти эту проблему. Дело в том, что пользователь может захотеть сохранить и продолжать смотреть на заказ без выхода из формы.

Best Regards
...
Рейтинг: 0 / 0
Сохранение данных
    #32426390
sns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sns
Гость
If Me.Dirty = True Then DoCmd.RunCommand acCmdSaveRecord
...
Рейтинг: 0 / 0
Сохранение данных
    #32426415
novss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, заработало!!!

Best Regards
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сохранение данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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