Свойства поля-значение по умолчанию.

qwantor
Дата: 23.11.2006 03:02:59
Доброго времени суток!
К многоуважаемым гуру возник очередной, скорее всего, как всегда, элементарный вопрос.
Есть форма, на форме три поля(конечно не всё так просто, но проблема сводится именно к этому).
В первое поле записывается некоторое число. Во второе поле записывается часть этого числа, а в третье автоматически должен высвечиваться процент числа второго поля от первого. Или наобарот,т.е. в третье поле вводится процент, п ао атром автоматически выводится нужное число.
Если писать обработчики потеря фокуса, то стоит только кликнуть на поле, ничего в нём не меняя, а потом убрать курсор, то обработчик естественно сработает. Это не приятно, т.к. нужно у каждого поля смотреть а не пусто ли оно? Если воспользоваться обработчиком после изменения, то они будут зацикленны. Что я придумал: я использовал автерабтейт, но числа записывал в значения по умолчанию, работало прекрастно: меняется значение по умолчанию меняется и числа в полях, но работало это до того, как у полей свойства данные перестали быть пустыми.
А что собственно нужно:
Скажите, может кто-нибудь знает из-за чего это?
Скажите, может кто-нибудь знает как заставить вставлять значения по умолчанию?
Может кто-нибудь знает как эту задачку лучше решить?
qwantor
Дата: 23.11.2006 03:36:26
Да, кстати, а как сделать так, что бы колёсико у мышки не пыталось перелистывать записи?
Alexander G
Дата: 23.11.2006 03:47:19
qwantor
Если воспользоваться обработчиком после изменения, то они будут зацикленны.

F1
· Изменение данных в элементе управления с помощью программы Visual Basic или макроса, содержащего макрокоманду ЗадатьЗначение (SetValue), не приводит к возникновению событий До обновления и После обновления для данного элемента управления.

Так что насчет зацикливания вы зря.
Alexander G
Дата: 23.11.2006 03:51:21
qwantor
Да, кстати, а как сделать так, что бы колёсико у мышки не пыталось перелистывать записи?

http://www.sql.ru/forum/actualthread.aspx?tid=277802
qwantor
Дата: 23.11.2006 03:55:10
Я использовал Поле.Text
А как использовать SetValue?
Alexander G
Дата: 23.11.2006 04:01:26
там же написано содержащего макрокоманду SetValue. Вы же наверно, макросами не пользуетесь, пишете на VBA, ну и не нужна она вам.
Пишите проще
Поле=1232

Свойство .Text доступно, только когда элемент управления имеет фокус.
qwantor
Дата: 23.11.2006 04:06:04
Хааааааааааааааа-Хааааааааааааа-Хааааааааааа!!!!!!!!!!
Знали бы Вы, как мне обидно, что я этого не знал... А я как в билдере пытался...
Alexander G
Дата: 23.11.2006 04:34:56
Полностью нужно писать
Поле.Value=1234
Но свойство Value используется по умолчанию,
поэтому можно проще
Поле=1234