Получение значения поле на событие AfterUpdate

jukiet.ru
Дата: 27.12.2011 17:38:33
Добрый вечер, форумчата. У меня следующий вопрос:
На событие AfterUpdate поля подчиненной формы, срабатывает некая функция. Проблема в том, что эта функция должна обработать значение, которое было введено непосредственно перед срабатыванием события. На данный момент я обновляю базу
Docmd.Requery
, перде этим запомнив, с помощью CurrentRecord, запись., далее возвращаюсь к ней и получаю необходимое мне значение. Но мне кажется, это как-то корявинько? Может быть есть более красивый способ решить данную задачу?
Rivkin Dmitry
Дата: 27.12.2011 17:47:13
jukiet.ru
Добрый вечер, форумчата. У меня следующий вопрос:
На событие AfterUpdate поля подчиненной формы, срабатывает некая функция. Проблема в том, что эта функция должна обработать значение, которое было введено непосредственно перед срабатыванием события. На данный момент я обновляю базу
Docmd.Requery
, перде этим запомнив, с помощью CurrentRecord, запись., далее возвращаюсь к ней и получаю необходимое мне значение. Но мне кажется, это как-то корявинько? Может быть есть более красивый способ решить данную задачу?

А зачем делать Requery на AfterUpdate ?
Акс и сам умный, чтобы обновить запись после AfterUpdate, при этом маркер записи останется непосредственно на введенной записи.
Программист-Любитель
Дата: 27.12.2011 17:47:54
Событие афтерапдейт поля не так значимо. Запись при этом еще не сохранена. Но если вам надо на изменение этого поля выполнять какие-то манипуляции с другими полями, то вы правильно за него прицепились. Если после выполнения своей прикладной логики вы хотите стаблизировать всю запись в целом, то достаточно вызвать сохранение записи формы Me.Dirty = False.
Владимир Саныч
Дата: 27.12.2011 17:49:33
Rivkin Dmitry
Акс и сам умный, чтобы обновить запись после AfterUpdate

Перед AfterUpdate.
jukiet.ru
Дата: 27.12.2011 18:12:12
Программист-Любитель. Если я правильно Вас поняла, что красивее решения, чем моя логика не существует?Т.е нельзя выципить значение, которое введено в форму, но еще не попало в табличку? Про Dirty - спасибо,но это не то. Мне нужно сохранять введенное значение и манипуляции с табличкой.
mds_world
Дата: 27.12.2011 18:31:32
jukiet.ru
Т.е нельзя выципить значение, которое введено в форму, но еще не попало в табличку?

Можно. В форме у текстовых полей есть свойство Text. Оно дает значение, которое введено, но еще не сохранено


jukiet.ru
Про Dirty - спасибо,но это не то. Мне нужно сохранять введенное значение и манипуляции с табличкой.

Если у вас форма основана на таблице, то как раз Dirty именно то, что надо чтобы сохранить запись.
Владимир Саныч
Дата: 27.12.2011 18:50:13
mds_world
В форме у текстовых полей есть свойство Text.

Это свойство доступно только у того поля, которое в фокусе. Но если оно в фокусе, а мы при этом находимся в его событии AfterUpdate, то и Value даст то же самое значение.
jukiet.ru
Дата: 28.12.2011 13:54:55
Всем огромное спасибо. Подчерпнула знания и выбрала наиболее подходящие решение.
Анатолий ( Киев )
Дата: 28.12.2011 17:17:30
jukiet.ru
значение, которое было введено непосредственно перед срабатыванием события
Поясните, имеется ввиду значение, которое было сохранено в таблице или при многократных попытках внести правильное значение - каждый раз предыдущее?
Видимо - первое. У элементов формы есть св-во OldValue. Оно возвращает исходное значение поля до сохранения записи. Т.е. доступно даже на событии Form_BeforeUpdate. ИМХО, правильнее - на этом событии запомнить OldValue поля, а на Form_AfterUpdate обработать его своей функцией.
В вашем варианте сохранение записи и "манипуляции с табличкой" при каждой попытке изменить поле не только будет тормозить, но и при ошибке сохранения или отказе оператора от сохранения записи может получиться, что значение осталось, а "манипуляции с табличкой" произошли.
jukiet.ru
Дата: 10.01.2012 17:15:01
Всех с прошедшими праздниками!!!

Анатолий ( Киев ),
Мне нужно получить значение, которое я ввела в поле подчиненной формы, но оно еще не попало в таблицу ( на которой основана подчиненная форма). Т.е как раз свойство Text мне очень подходит.