powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вопрос по dirty
21 сообщений из 21, страница 1 из 1
вопрос по dirty
    #32475759
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. кто скажет почему при изменении данных в форме me.dirty =true, а вот при закрытии этой формы me.dirty = false ?
2. как в этом случае при закрытии формы проверять изменили ли данные ?
...
Рейтинг: 0 / 0
вопрос по dirty
    #32475763
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому что после того как текущая запись сохранила изменения
дирти снова становится False
...
Рейтинг: 0 / 0
вопрос по dirty
    #32475786
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда, в данном случае сохранение записи при закрытии формы мне мешает :(
мне надо закрывать форму с проверкой изменений на ней, какое событие отлавливать?
...
Рейтинг: 0 / 0
вопрос по dirty
    #32475794
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и используй событие Dirty
...
Рейтинг: 0 / 0
вопрос по dirty
    #32475804
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как, если закрытие формы всегда возвращает me.dirty=false ?
...
Рейтинг: 0 / 0
вопрос по dirty
    #32475807
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
путаешь dirty и OnDirty
...
Рейтинг: 0 / 0
вопрос по dirty
    #32476140
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Form_UnLoad
...
Рейтинг: 0 / 0
вопрос по dirty
    #32487913
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возвращаюсь к вопросу...
как закрыть форму не сохраняя изменений в записи?
к e_basil :
при Unload можно отменить закрытие формы, но отмену сохранения записи нельзя.
каким-то хитрым образом access успевает сохранить запись
к АлексейК :
dirty и OnDirty по тем же причинам применять не получается.

или я опять чего путаю?
...
Рейтинг: 0 / 0
вопрос по dirty
    #32487917
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 faint
Access хитрым образом сохранит запись если перешли в подчинённую форму из главной, к примеру или произвели ещё какие-либо действия, которые ПРИВЕЛИ к сохранению записи. Исходя из этого - внимательно смотришь, что делаешь со своей формой.
...
Рейтинг: 0 / 0
вопрос по dirty
    #32487931
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему сохраняется запись понятно, не понятно КОГДА, чтобы можно было перехватывать это сохранение. и возможно-ли его вообще перехватывать
...
Рейтинг: 0 / 0
вопрос по dirty
    #32487934
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда, когда...

BeforeUpdate

F1
...
Рейтинг: 0 / 0
вопрос по dirty
    #32487935
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 faint
Ты хочешь, чтобы я это понял не видя формы?:)
Я предложил способ решения - каждый в силах им воспользоваться.
По шагамтрудно операции пройти?:)
...
Рейтинг: 0 / 0
вопрос по dirty
    #32487942
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если бы вопрос был не когда, а где, то Лох нашел бы другую рифму.
...
Рейтинг: 0 / 0
вопрос по dirty
    #32488185
J_Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J_Q
Гость
2 faint
Сам мучаюсь с такой же траблой.
Сделал Private переменную которай на Form_Dirty становиться False
То есть даннае в форме измененны.
Но дело в том что если юзерь тыкает на крест формы, то мы можем перехватить закрытие формы либо в Unload либо в CLose однако уже поздно
чтобы откатить сделанные изменения, так как для Me.Undo уже слишком поздно, форма сохраняет все изменения до Unload делая me.Dirty=False
И алес! Выход пока вижу один убирать кнопку закрытия с формы и делать свою. Однако юзверя привыкли к крестику на окне.
Что делать?
...
Рейтинг: 0 / 0
вопрос по dirty
    #32488267
J_Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J_Q
Гость
Поделитесь опытом, как реализовать откат.
К примеру у нас есть одиночная форма.
На форме несколько связанных с данными полей.
Делаем две кнопки на форме "Сохранить" и "Отмена"
И та и другая закрывает форму.
Только кнопка "Сохранить" перед закрытием делает
Me.Dirty=False
а кнопка "Отмена" Me.Undo
Вопрос как сделать чтобы крестик на форме закрывал форму не сохраняя записи, т.е. так же как кнопка "Отмена"
Спасибо.
2 faint сорри что в твоем топике однако вопросы у нас схожи.
...
Рейтинг: 0 / 0
вопрос по dirty
    #32488333
Фотография Polev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убери крестик с формы... LOL
...
Рейтинг: 0 / 0
вопрос по dirty
    #32488359
J_Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J_Q
Гость
2 Polev
завали!!
Крест надо оставить!
...
Рейтинг: 0 / 0
вопрос по dirty
    #32488373
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сделал так:
сохранить
If IsNull(Me.Fld1) Then
MsgBox "не заполнено"
ElseIf IsNull(Me.Fld2) Then
MsgBox "не заполнено"
Else
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End If
и форму я не закрываю

отмена
Me.Undo
DoCmd.Close

закрыть окно (крестик)
Private Sub Form_BeforeUpdate(Cancel As Integer)
(спасибо ЛП)
If Not IsNull(Me.Fld1) And _
Not IsNull(Me.Fld2) And Then
If MsgBox("сохранить изменения?", vbYesNo) = vbYes Then
Exit Sub
Else
Me.Undo
End If
End If
Me.Undo
End Sub
...
Рейтинг: 0 / 0
вопрос по dirty
    #32488392
J_Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J_Q
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Form_BeforeUpdate(Cancel As Integer) 
(спасибо ЛП) 
If Not IsNull(Me.Fld1) And _ 
Not IsNull(Me.Fld2) And Then 
If MsgBox( "сохранить изменения?" , vbYesNo) = vbYes Then 
Exit Sub 
Else 
Me.Undo 
''''''''''
'Не понял! У меня тоже самое однако Undo не срабатывает! Проверь плиз!
'Может несмотря на то что жмен NO изменения всеж сохранились?
''''''''''
End If 
End If 
Me.Undo 
End Sub
...
Рейтинг: 0 / 0
вопрос по dirty
    #32488894
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у тебя точно Form_BeforeUpdate ?
...
Рейтинг: 0 / 0
вопрос по dirty
    #32489314
J_Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J_Q
Гость
Блин! Я ступил сорри...
спасибо!
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вопрос по dirty
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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