23.04.2004, 17:42 | #1 |
Участник
|
вставка новой записи
есть таблица1 - обычный список
содержит 2 поля: "No" - integer (ключевое); Name - Text - используется только для показа части текста из другой таблицы (таблицы2). таблица1 и таблица2 связаны между собой по "No." триггер OnInsert таблицы1 имеет вид MyTable.LOCKTABLE; IF MyTable.FIND('+') THEN "No." := MyTable."No." + 10 ELSE "No." := 10; создаю форму1(используется как субформа), которая будет использоваться для просмотра и ввода информации в таблицу1. Поле Name - недоступно для редактирования, поле "No." должно быть невидимо (требования клиента). Триггер OnAssistEdit поля Name содержит вызов другой связанной по "No." формы2(которая используется для заполения таблицы2). Св-во autosplitkey формы1 установлено в 0. То есть идея следующая: клиент попадает на форму1 поле Name. Далее нажимает assistedit княпу и попадает в форму2(привязана к таблице2). Что то в ней заполняет, закрывает. В результате поле Name формы1 содержит (к примеру) краткий текст из заполненной таблицы2. Проблема состоит в том что при активации поля Name формы1 запись в таблицу 1 не заносится (не срабатывает триггер OnInsert таблицы) и в итоге поле "No." при нажатии assistedit кнопки равно 0. запись в таблицу1 происходит только в том случае если поле "No." видимо на форме. либо в том случае если поля "No." на форме нет но поле Name доступно для редактирования и то только после того как были занесены какието данные в поле Name. Может кто подскажет как реализовать подобную фичу (интересует именно тот случай когда на форме1 видимо только недоступное для редактирования поле Name) |
|