06.07.2007, 08:51 | #1 |
Участник
|
При открытии и перемещении по записям в форме-карточке нужно обновлять данные в таблице субформы.
С открытием проблем нет - в OnOpenForm все нормально работает. А что делать с перемещением? Помещение кода в OnNextRecord не помогает - выдается сообщение "Вы не можете выполнить изменения в базе данных из этого триггера". Какие еще варианты есть? |
|
06.07.2007, 08:59 | #2 |
Участник
|
Напишите в субформе функцию, делающую необходимые обновления, и запускайте ее из триггера OnAfterGetCurrRecord основной формы.
|
|
06.07.2007, 09:21 | #3 |
Участник
|
OnAfterGetCurrRecord также не допускает изменение данных, в том числе и вызванное опосредованно - через функцию в субформе или таблице субформы (как раз в таблице и создана изменяющая функция, которую нужно вызывать). Нужно что-то другое
|
|
06.07.2007, 10:27 | #4 |
Участник
|
Почему нельзя связать через св-ва субформы? И что вы подразумеваете под обновление?
|
|
06.07.2007, 10:46 | #5 |
Участник
|
Под обновлением понимается изменение значений нескольких полей в таблице субформы (т.е. это не вычисление, например, FlowField).
Про свойства субформы не понял. Естественно, фильтр для субформы задается в SubFormLink, но к внесению изменений это не относится. |
|
06.07.2007, 11:47 | #6 |
Участник
|
Один из вариантов - по таймеру. Если еще не изменили данные - изменить и запомнить, что сделаны изменения. Но как-то неправильно это.
|
|
09.07.2007, 12:06 | #7 |
Участник
|
Посмотрите свойство SubFormLink на сопутствующей форме
|
|