Recalc Родительская форма без потери фокуса из текущей записи SubForm - PullRequest
0 голосов
/ 16 марта 2019

В базе данных доступа у меня есть основная форма с табличной подформой.Я хочу, чтобы каждый элемент управления Основной формы пересчитывался при изменении любого значения любой записи Подформы.Я попытался применить что-то вроде (me.parent.recalc) к каждому элементу управления подчиненной формы, но обнаружил, что теперь, когда я изменяю «любую» запись подчиненной формы, фокус будет смещен к тому же полю первой записи подчиненной формы.Любое решение?Привет

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Попробуйте me.parent.recordset.requery Это должно обновить только базовый набор записей, а не саму форму. Я не уверен на 100% о синтаксисе, но я использую этот подход в своих проектах Access.

0 голосов
/ 16 марта 2019

Предполагая, что ваш элемент управления подформой в главной форме называется ctlSubForm, это будет пример кода, который вы вызываете в подчиненной форме, например, в процедуре события AfterUpdate:

'Store the current sub forms record/bookmark
Dim currentRecord As Variant
currentRecord = Me.Bookmark

'Requery the main form, causing the first record of subform will be selected
'(instead place your existing code here)
Me.Parent.Requery

'Set the sub forms record/bookmark to the stored record/bookmark
Me.Bookmark = currentRecord

'Set the focus to the main forms sub form control
'(this is necessary to really get the focus back to the subform)
Me.Parent.ctlSubForm.SetFocus
...