powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Припарился под конец дня!
39 сообщений из 39, показаны все 2 страниц
Припарился под конец дня!
    #32237206
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос простой, ответ на него небось тоже простой!
Но чего то я как то не пойму..
Итак:
Как отменить ввод данных в контрол ТекстБокс и вернуть ему значение которое было до редактирования?
Условие задачи: контрол не связан с данными.
Спсибо!
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32237257
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Заводим коллекцию. Заносим в нее значение текстбокса при открытии формы. На каждый AfterUpdate тоже заносим. Потом при желании достаем из нее любое из старых значений.

Можно и без коллекции, если точно известно, какое именно из старых значений нужно восстановить.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32237266
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что Undo не подойдет???
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32237307
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В событии BeforeUpdate этого элемента можно Undo вызвать
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32237431
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой такой анду, если поле не связанно с данными?
2 Владимир Саныч.
Такая фишка я меняю данные в поле, на бефоапдейт выскакивает меседж типа правильно ввели данные?
Ну и Да. НЕТ. Кансел.
жмем
Нет ==> Cancel=true
Кансел==> вот тут и нужен анду на предыдущее значение.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32237453
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а типа OldValue или это из др. оперы?
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32237461
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sfagnum
из другой
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32237944
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Jem:

Не, я тогда не понял. Скажем, в текстбоксе поставлено 8. Юзер поменял его на 9. Получает мсджбокс. Теперь так:

отвечает ес - остается его 9
отвечает ноу - возвращается 8
отвечает кансел - и тогда что должно произойти?

Но в любом случае (и если кансел=ноу, и если кансел возвращает какое-то еще более древнее значение) можно все брать из предложенной мной коллекции.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32238093
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
метод Саныча единственный, красивый, оптимальный.
либо он (метод) - либо ничего.

в развитии темы:
яйца теже, вид с боку

в качестве коллекции использовать таблицу.
преимущества - значения не теряются при выходе из акеса.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32238115
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я боюсь, что тут какая-то недоработка в самой постановке. Что должен видеть юзер при нажатии на кансел?
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32238273
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cansel можно не показывать, только да -нет
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32238278
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
В том-то и дело. А на случай "нет" у автора вопроса нет проблем.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32238839
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нажимаем NO то это означает что юзер признает что ввел не правильно запись, отсюда Cancel=True на Before_Update , фокус остается на поле.
Если нажимаем Cancel то это означает что юзер припарился и отменяет все свои потуги, вот здесь мне надо вернуть предыдущее значение.
Если нажимаем YES то это означает что предупреждение об ответсвенности за введеную не напугало юзера и тот подтверждает введенную запись и мы ее сохраняем.
Вроде все.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32238876
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда надо поменять местами ноу и кансел.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239309
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 BC
как не меняй я так понял, что видимо без коллекции не обойтись.
Однако если нажать кнопку ESC то "Откат" даже на не связанном поле происходит. Пробовал через SendKey но почему-то нет эффекта.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239335
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Jem

Смотрю я на твой топик уже который день и на язык наворачивается только одно: А мы все паримся (шутка)
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239369
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Vsevolod V
Два дня командировки, только вчера приехал. Завтра опять уезжаю.
Забежал на работу два раза, до access_a дело не дошло. Не успел физически просто.
Кстати вариант ВС меня вполне устраивает, если он мне скажет что происходит при нажатии ESC на несвязанном поле то я от всех отстану

З.Ы. Кстати я твои топиким / посты тоже смотрю
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239380
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> если он мне скажет что происходит при нажатии ESC

Сорри, я не догадался, что это тоже был вопрос. Полагаю, происходит какая-то внутренняя вестчь, которую нам нашими средствами не воспроизвести.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239456
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, когда приеду буду колбасить коллекцию. Всем спасибо!
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239631
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что происходит при нажатии ESC на несвязанном поле
Происходит Me.СвязанноеПоле.Undo, кстати.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239634
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. Me.НЕсвязанноеПоле.Undo. Или связанное. Все равно Undo, в общем.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32239639
Shkurenko Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всетаки вариант Владимира Саныча поинтереснее будет. Можно хранить историю, прикрутил две кнопки "откат назад" и "отмена отката" и радуешся жизни :)
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270541
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo
Слушай если не сильно напрягу, кинь мне плиз пример где видно как работает фишка me.поле.undo
Я тут чего-то совсем запутался..
Спасибо.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270545
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь что камнями закидают, но такое чувство что анду не происходит даже на связанном поле.
Может быть работа анду зависит еще от чего-то кроме "связанности" поля..
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270557
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное самый крутой способ будет нарисовать на форме 3 кнопки

код для одной :
DBEngine.Workspaces(0).BeginTrans

код для другой:
DBEngine.Workspaces(0).Rollback

нажимаешь на первую и ставишь эксперименты над данными какие хочешь.
не понравилось - нажимай вторую ))

да кстати если сохранить то

DBEngine.Workspaces(0).CommitTrans
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270560
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ушло...
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270570
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое, буду смотреть.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270577
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, если не ошибаюсь (энергичные меня поправят), пока фокус в поле - новое значение это свойство Text, а старое - Value. Может и это на что-нить сгодится.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270586
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное, я понял, в чем вопрос...

Полю можно сделать унду, пока оно редактируются (пока у него есть св-во .Text)

Записи можно делать унду, пока она редактируется (пока ей не сделали .Update)

Сделать кнопку, на которую повесить Me.Поле.Undo можно, но это не даст совершенно никагого результата. Когда мы нажимаем на кнопку, сначала происходит потеря фокуса у этого поля.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270588
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опоздал :)
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270592
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так мы что-то не поняли, у тебя что - Undo не работает на контроле Edit???

должен работать, ничего сложного там нет.

P.S. прикол состоит еще в том, что контрол Edit(Поле) изначально умеет отменять внесен. изменения. Это не есть какой-то наворот Access. Для возврата(undo) ему надо через winAPI можно послать спец. сообщение - что-то типа WM_UNDO (точно уже не помню название)
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270604
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да получается что так как говори Итал и Geo.
Мало того даже если на событие BeforeUpdate поля повесить Me.Поле1.Undo то ничего уже не произойдет.
Однако на BeforeUpdate не сработает и OldValue. Вообще прикол
Undo уже поздно OldValue еще рано!
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270607
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать кнопку, на которую повесить Me.Поле.Undo можно, но это не даст совершенно никагого результата. Когда мы нажимаем на кнопку, сначала происходит потеря фокуса у этого поля.

Самое смешное, что года два назад я долго и мучительно изобретал способ как обойти проблему, пока не глянул в хелп. А проблема была такая. Ввожу в свободное поле дату начала периода щелкаю кнопку отчет и получаю его отфильтрованного по старому значению поля. Приходилось закрывать и открывать снова. Придумал же вот что. Программно при нажатии кнопки передавать фокус любому другому полю формы и возвращать обратно. Когда прочел про различие Text и Value, понял в чем была моя проблема.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270616
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Витал
Дык, у тебя была кнопка в панели, а не на форме.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270619
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новое значение это свойство Text, а старое - Value
А это неправда, кажется. А может и правда...
Я, чтобы посмотреть старое значение какого-нибудь поля формы, открываю рекордсетКлон, букмарком перехожу на тек. запись, и там смотрю. До .Update там все значения старые.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270621
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код

screen.preveuscontrol.setfocus возвращает фокус на предыдущий контрол если что.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270634
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин каких только приколов не бывает.
Спасибо что не оставили без внимания, а то пятница ведь я думал все уже пьют пиво..
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270645
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geo
Дык, у тебя была кнопка в панели, а не на форме.
Ни фига подобного - именно на форме!!

Jem
Undo уже поздно OldValue еще рано
Дык! Попробуй просто Value.
...
Рейтинг: 0 / 0
Припарился под конец дня!
    #32270678
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Витал
Не я ошибся OldValue не рано.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Припарился под конец дня!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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