|
![]() |
#1 |
Участник
|
При открытии и перемещении по записям в форме-карточке нужно обновлять данные в таблице субформы.
С открытием проблем нет - в OnOpenForm все нормально работает. А что делать с перемещением? Помещение кода в OnNextRecord не помогает - выдается сообщение "Вы не можете выполнить изменения в базе данных из этого триггера". Какие еще варианты есть? |
|
![]() |
#2 |
Участник
|
Напишите в субформе функцию, делающую необходимые обновления, и запускайте ее из триггера OnAfterGetCurrRecord основной формы.
|
|
![]() |
#3 |
Участник
|
OnAfterGetCurrRecord также не допускает изменение данных, в том числе и вызванное опосредованно - через функцию в субформе или таблице субформы (как раз в таблице и создана изменяющая функция, которую нужно вызывать). Нужно что-то другое
|
|
![]() |
#4 |
Участник
|
Почему нельзя связать через св-ва субформы? И что вы подразумеваете под обновление?
|
|
![]() |
#5 |
Участник
|
Под обновлением понимается изменение значений нескольких полей в таблице субформы (т.е. это не вычисление, например, FlowField).
Про свойства субформы не понял. Естественно, фильтр для субформы задается в SubFormLink, но к внесению изменений это не относится. |
|
![]() |
#6 |
Участник
|
Один из вариантов - по таймеру. Если еще не изменили данные - изменить и запомнить, что сделаны изменения. Но как-то неправильно это.
|
|
![]() |
#7 |
Участник
|
Посмотрите свойство SubFormLink на сопутствующей форме
|
|