03.07.2007, 15:40 | #1 |
Участник
|
Столкнулся с такой проблемой:
Есть следующая форма. На ней расположены контролы: 1) TextBox с SourceExpr = переменная типа option; 2) TextBox с SourceExpr = переменная типа text, значение которое получается по LookUp; 3) TableBox - отражающий таблицу. Если в таблице нет записей, а при этом выбраны значения в контролах 1 и 2, сделать текущую форму не активной (открыть другую форму), а затем активировать первую, то значения в контролах 1 и 2 не отображаются. А при установке курсора в контрол 1 значение появляется вновь, щелкаешь на контрол 3 не отображается значение в контроле 1. При повторном выборе значений в одном из контролов (1 или 2) появляются все неотображенные данные. Если есть записи в таблице, то при деактивизации и активизации выбранные значения в контролах сохраняются. |
|
04.07.2007, 04:20 | #2 |
Участник
|
Попробуйте
CurrForm.UPDATE(FALSE); в триггре формы OnActivateForm |
|
04.07.2007, 07:02 | #3 |
Участник
|
Это не помагло. Пробовал различные варинаты с FIND, тоже не помогло.
|
|
05.07.2007, 13:31 | #4 |
Участник
|
Присвойте контролам 1 и 2 имя (через поле name)
В OnActivate сделайте Currform.control1.UPDATE; Currform.control2.UPDATE; Если не поможет, сделайте такой трюк (тоже в FORM:nActivate) Currform.control1.VISIBLE := NOT Currform.control1.VISIBLE ; Currform.control1.VISIBLE := NOT Currform.control1.VISIBLE ; Currform.control2.VISIBLE := NOT Currform.control2.VISIBLE ; Currform.control2.VISIBLE := NOT Currform.control2.VISIBLE ; |
|
05.07.2007, 15:05 | #5 |
Участник
|
Цитата:
В OnActivate сделайте
Currform.control1.UPDATE; Currform.control2.UPDATE; Цитата:
Currform.control1.VISIBLE := NOT Currform.control1.VISIBLE ;
Currform.control1.VISIBLE := NOT Currform.control1.VISIBLE ; Currform.control2.VISIBLE := NOT Currform.control2.VISIBLE ; Currform.control2.VISIBLE := NOT Currform.control2.VISIBLE ; Поясню еще раз ситуацию: Дело в том, что когда первый раз открываю форму и выбираю нужную информацию, то в Control1 видно 'Департамент', в Control2 - 'Руководство'. Делаю неактивной эту форму, а затем делаю активной. В Control1 ничего не видно, в Control2 ничего не видно. Делаю активным Control1 выбранное значение появляется. Делаю активным Control2 выбранное значение появляется, а у Control1 выбранное значение исчезает. Выбираю новое значение в одном из двух контролов... все становиться видно: в Control1 видно 'Департамент', в Control2 - 'ИТР'. |
|
05.07.2007, 15:27 | #6 |
Участник
|
Выложи объект чтоли, так не угадаешь.
|
|
05.07.2007, 15:50 | #7 |
Участник
|
50937 - форма
50015 - SourceTable таблица для формы В форме, будет доступен выбор только у контрола "Расчет". [attachment=642:Fob_Form___Table.rar] |
|
05.07.2007, 21:48 | #8 |
Участник
|
Цитата:
Диапазон 503ХХ не стандартен |
|
06.07.2007, 14:41 | #9 |
Участник
|
Короче можно снести таблебокс в сабформу и убрать с главной формы SourceTable. Навижен перерисовывает только поля таблицы, если на форме стоит привязка.
|
|
06.07.2007, 16:26 | #10 |
Участник
|
Такой вариант:
Снести таблебокс в сабформу и убрать с главной формы SourceTable. Навижен перерисовывает только поля таблицы, если на форме стоит привязка. Работает. Спасибо за идею. А без создания сабформы обойтись можно? А то кол-во форм увеличиться как минимум в 2 раза. |
|
06.07.2007, 17:22 | #11 |
Участник
|
Цитата:
1. Чисто теоретически, лучше делать контролы с полями таблицы, а не с переменными, в стандартной базе есть формы 5099, 5131 и т.п., работают с теми же глюками. 2. Сообщить в майкрософт. Может сделают в версии 6.0. 3. Забить. |
|
09.07.2007, 07:10 | #12 |
Участник
|
Спасибо, за советы!
|
|