Доступ к VBA: объединить GetRows с закладкой - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть небольшой набор данных с maintable и одной таблицей, зависящей от maintable. Одна запись в основной таблице может иметь несколько связанных записей в подтаблице.

Я также создал форму (maintable) с подчиненной формой (subtable).

Впоследствии я создал два набора записей клонов на основе формы и подчиненной формы соответственно.

Добавление метода закладки также позволяет мне использовать данные из записи, которая фактически активна в форме. Проблема в том, что закладка относится только к основной форме.

Я использовал GetRows для создания переменной массива, которая будет заполнена записями из подчиненной формы. Массив заполнен, но со всеми записями из подтаблицы. Мне нужны только те записи, которые в данный момент отображаются в подчиненной форме.

Я использую набор записей DAO.

Как я могу это исправить?

Пока мой код:

Sub FillMail()

    Dim rstMail As DAO.Recordset
    Dim rstIsin As DAO.Recordset

    Dim db As Database
    Dim isinarray As Variant

    Set rstMail = Forms!Transfert.RecordsetClone
    Set rstIsin = Forms!TFT_ISIN_DatasheetSub2.RecordsetClone
    Set db = CurrentDb

    rstMail.Bookmark = Forms!Transfert.Bookmark
    rstIsin.Bookmark = Forms!TFT_ISIN_DatasheetSub2.Bookmark

    isinarray = rstIsin.GetRows

    MsgBox isinarray(2, 0)

End Sub

1 Ответ

0 голосов
/ 12 сентября 2018

Если подчиненная форма TFT_ISIN_DatasheetSub2 находится в элементе управления подчиненной формы в главной форме Transfert, свяжите поля Master и Child в элементе управления формы и измените:

Set rstIsin = Forms!TFT_ISIN_DatasheetSub2.RecordsetClone

на:

Set rstIsin = Forms!Transfert!subTFT_ISIN.RecordsetClone

Предполагается, что вашему подчиненному элементу управления присвоено имя subTFT_ISIN.

...