powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проверка сделанных изменений
17 сообщений из 17, страница 1 из 1
Проверка сделанных изменений
    #32382822
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При закрытии формы у меня выскакивает MsgBox с предложением сохранить изменеия. А если я не делал изменений, то не хочу вызывать MsgBox, а сразу закрыть форму. Как прорверить были ли внесены изменения?
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382832
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Введи переменую, которую меняй при внесении изменений ... А если не было изменений - она останется неизменной.
Ну и проверь ее при закрытии формы.
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382863
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
me.dirty
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382893
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир Саныч
спасибо помогло.
Еще один вопрос: как закрыть фрму без сохранения изменений?
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382917
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Docmd.Close acForm, Me.Name, acSaveNo
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382923
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу ты, это не оттуда.
Надо сделать Me.Undo
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382955
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такая конструкция все же сохраняет изменения:

Private Sub cmdCloseComp_Click()
If Me.Dirty Then
If MsgBox("Сохранить изменения?", vbYesNo, "Промышленный вестник") = vbYes Then
DoCmd.Close acForm, Me.Name, acSaveYes
Else
DoCmd.Close acForm, Me.Name, acSaveNo
End If
Else
DoCmd.Close acForm, Me.Name, acSaveNo
End If
End Sub
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382958
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
См. сообщение AlexJuice от 12:34.
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382995
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно упростить эту конструкцию?

Private Sub cmdCloseComp_Click()
If Me.Dirty Then
If MsgBox("Сохранить изменения?", vbYesNo, "Промышленный вестник") = vbYes Then
DoCmd.Save acForm, Me.Name
DoCmd.Close acForm, Me.Name
Else
Me.Undo
DoCmd.Close acForm, Me.Name
End If
Else
Me.Undo
DoCmd.Close acForm, Me.Name
End If
End Sub
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382997
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DoCmd.Save acForm, Me.Name - это не то! Это сохранение не данных, а дизайна формы.
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32382999
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Private Sub cmdCloseComp_Click()
If Me.Dirty Then If MsgBox("Сохранить изменения?", vbYesNo, "Промышленный вестник") <> vbYes Then Me.Undo
DoCmd.Close acForm, Me.Name
End Sub
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32383027
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир Саныч
А уменя сохраняло данные DoCmd.Save acForm
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32383034
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Данные в Аксессе сами сохраняются, когда юзер покидает запись. Можно принудительно сделать Save Record программно. Но при обычном закрытии формы это не нужно.
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32383056
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир Саныч
Спасибо я уже понял
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32383060
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал с помощью матера:

Private Sub cmdSaveComp_Click()
On Error GoTo Err_cmdSaveComp_Click


DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_cmdSaveComp_Click:
Exit Sub

Err_cmdSaveComp_Click:
MsgBox Err.Description
Resume Exit_cmdSaveComp_Click

End Sub

Все ли параметры нужны?
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32383091
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Параметры нужны все, но я считаю, что всё сохранится и так.
...
Рейтинг: 0 / 0
Проверка сделанных изменений
    #32383162
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО лучше так:
DoCmd.RunCommand acCmdSaveRecord

The RunCommand method replaces the DoMenuItem method of the DoCmd object.
(c) Help
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проверка сделанных изменений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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