Переход к следующей записи в непрерывной подчиненной форме пропускает следующую запись в родительской форме - PullRequest
0 голосов
/ 08 октября 2018

У меня есть подпрограмма для перехода к следующей записи по событию щелчка на кнопке команды, которую я успешно использовал для замены встроенных кнопок навигации для подчиненных форм с одним представлением формы, но когда я применяю ее к непрерывномуподчиненная форма, родительская форма меняется на следующую запись.Я хочу запретить моим пользователям фильтрацию или поиск, поэтому я предпочитаю исключать кнопки навигации.Как я могу предотвратить переход родительской формы к следующей записи, если я уже установил фокус на подчиненную форму?

Private Sub CmdNextRecord_Click()
On Error Resume Next
    Forms![frmParent]![fsubChild].SetFocus
    DoCmd.GoToRecord , , acNext
    Forms![frmParent].SetFocus
End Sub

1 Ответ

0 голосов
/ 08 октября 2018

Эта строка: Forms![frmParent]![fsubChild].SetFocus устанавливает фокус на элемент управления подчиненной формы в главной форме, а не на фактическую форму внутри элемента управления подчиненной формы.

Чтобы установить фокус на первый элемент управления в подчиненной форме:

Forms!frmParent!fsubChild.Form.Controls(0).SetFocus

Я рекомендую вам работать с набором записей форм для перемещения записи:

Dim rs As DAO.Recordset
With  Forms![frmParent]![fsubChild].Form
    Set rs = .RecordsetClone
    rs.Bookmark = .Bookmark
    rs.MoveNext
    If Not rs.EOF Then 'If not last record
        .Bookmark = rs.Bookmark
    End If
End With
...