Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проверка сделанных изменений / 17 сообщений из 17, страница 1 из 1
21.01.2004, 11:51
    #32382822
KV
KV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
При закрытии формы у меня выскакивает MsgBox с предложением сохранить изменеия. А если я не делал изменений, то не хочу вызывать MsgBox, а сразу закрыть форму. Как прорверить были ли внесены изменения?
...
Рейтинг: 0 / 0
21.01.2004, 11:56
    #32382832
Ander Borisov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
Введи переменую, которую меняй при внесении изменений ... А если не было изменений - она останется неизменной.
Ну и проверь ее при закрытии формы.
...
Рейтинг: 0 / 0
21.01.2004, 12:08
    #32382863
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
me.dirty
...
Рейтинг: 0 / 0
21.01.2004, 12:19
    #32382893
KV
KV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
2Владимир Саныч
спасибо помогло.
Еще один вопрос: как закрыть фрму без сохранения изменений?
...
Рейтинг: 0 / 0
21.01.2004, 12:32
    #32382917
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
Docmd.Close acForm, Me.Name, acSaveNo
...
Рейтинг: 0 / 0
21.01.2004, 12:34
    #32382923
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
Тьфу ты, это не оттуда.
Надо сделать Me.Undo
...
Рейтинг: 0 / 0
21.01.2004, 12:49
    #32382955
KV
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
21.01.2004, 12:51
    #32382958
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
См. сообщение AlexJuice от 12:34.
...
Рейтинг: 0 / 0
21.01.2004, 13:04
    #32382995
KV
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
21.01.2004, 13:06
    #32382997
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
DoCmd.Save acForm, Me.Name - это не то! Это сохранение не данных, а дизайна формы.
...
Рейтинг: 0 / 0
21.01.2004, 13:07
    #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
21.01.2004, 13:20
    #32383027
KV
KV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
2Владимир Саныч
А уменя сохраняло данные DoCmd.Save acForm
...
Рейтинг: 0 / 0
21.01.2004, 13:23
    #32383034
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
Данные в Аксессе сами сохраняются, когда юзер покидает запись. Можно принудительно сделать Save Record программно. Но при обычном закрытии формы это не нужно.
...
Рейтинг: 0 / 0
21.01.2004, 13:35
    #32383056
KV
KV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
2Владимир Саныч
Спасибо я уже понял
...
Рейтинг: 0 / 0
21.01.2004, 13:37
    #32383060
KV
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
21.01.2004, 13:53
    #32383091
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
Параметры нужны все, но я считаю, что всё сохранится и так.
...
Рейтинг: 0 / 0
21.01.2004, 14:25
    #32383162
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка сделанных изменений
ИМХО лучше так:
DoCmd.RunCommand acCmdSaveRecord

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


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