Скопировать из таблицы данных в ListBox - PullRequest
0 голосов
/ 23 мая 2018

У меня проблема с копированием данных.У меня есть подчиненная форма, показанная в виде таблицы с 8 столбцами и динамическим числом строк.У меня есть код, который, если вы выберите ячейку в таблице данных и нажмите кнопку, она скопирует эту строку в ListBox.Но я не знаю, как сделать цикл, который будет копировать все строки (или выбранную пару) в список.Если выбрано более одной строки, копируется только первая.

Private Sub Command_Click()
 Dim item(1 To 8) As String
  With frmPresentationList

    item(1) = ![Col1]
    item(2) = ![Col2]
    item(3) = ![Col3]
    item(4) = ![Col4]
    item(5) = ![Col5]
    item(6) = ![Col6]
    item(7) = ![Co87]
    item(8) = ![Col1]
 End With

 With Me.selectedItems
    .AddItem Join(item, ";")
 End With
End Sub

Спасибо!

1 Ответ

0 голосов
/ 23 мая 2018

Пример кода.Я всегда называю элемент управления контейнером subform / subreport отличным от объекта, который он содержит.Контейнер управления подчиненной формы называется ctrRates.

Option Compare Database
Option Explicit

Dim intHeight As Integer    'stores value for number of records selected
Dim intTop As Integer   'stores value for position of first selected record

Private Sub ctrRates_Exit(Cancel As Integer)
    intHeight = Me.ctrRates.Form.SelHeight
    intTop = Me.ctrRates.Form.SelTop
End Sub

Private Sub btnFillListbox_Click()
    Dim N As Integer
    If intHeight > 0 Then
        Me.SelectedItems.RowSource = ""
        With Me.ctrRates.Form.RecordsetClone
            .MoveFirst
            'AbsolutePosition property is 0 based counter so must -1 to set RecordsetClone position
            .AbsolutePosition = intTop - 1
            For N = 1 To intHeight
                Me.SelectedItems.AddItem (!RateID)
                .MoveNext
            Next
        End With
    End If
End Sub
...