Как сохранить информацию о записи из ListBox в таблицу?

Я использую следующий код, который связан с кнопкой cmdAdd . Используя событие «При нажатии», информация о выборе ListBox копируется в таблицу KitBuild .

Private Sub cmdAdd_Click()

  Dim strSQL        As String
  Dim db            As DAO.Database
  Dim rs            As DAO.Recordset
  Dim ctl           As Control
  Dim varItem       As Variant

  On Error GoTo ErrorHandler

  Set db = CurrentDb()
  Set rs = db.OpenRecordset("KitBuild", dbOpenDynaset, dbAppendOnly)

  'make sure a selection has been made
  If Me.lstResults.ItemsSelected.Count = 0 Then
    MsgBox "At least 1 part must be selected."
    Exit Sub
  End If

  'add selected value(s) to table
  Set ctl = Me.lstResults
  For Each varItem In ctl.ItemsSelected
    rs.AddNew
    rs!ItemNo = ctl.ItemData(varItem)
    rs.Update
  Next varItem

ExitHandler:
  Set rs = Nothing
  Set db = Nothing
  Exit Sub

ErrorHandler:
  Select Case Err
    Case Else
      MsgBox Err.Description
      DoCmd.Hourglass False
      Resume ExitHandler
  End Select

End Sub

Ниже KitBuild таблица KitBuild которой сохраняются выбранные элементы. В настоящее время он передает только более 1 части информации из выборки, которая No из qryParts в столбец с именем ItemNo (ID # 8). Это отлично работает, но мне также нужно перенести описание и стоимость единицы записи из qryParts в KitBuild .

введите описание изображения здесь

Я попытался изменить следующее на rs!Description и rs!UnitCost но значение No просто смещается к этим столбцам (ID # 9, 10) вместо предоставления Description и Cost .

  'add selected value(s) to table
  Set ctl = Me.lstResults
  For Each varItem In ctl.ItemsSelected
    rs.AddNew
    rs!ItemNo = ctl.ItemData(varItem)
    rs.Update
  Next varItem

Это пример информации, которую я хотел бы скопировать из qryParts в KitBuild . введите описание изображения здесь

Как я могу изменить код, чтобы включить Нет, Описание и Стоимость ?

Всего 1 ответ


Я предполагаю, что ваш ListBox содержит данные в том же порядке, что и на вашем последнем изображении. Использовать этот:

      'add selected value(s) to table
      Set ctl = Me.lstResults
      For Each varItem In ctl.ItemsSelected
        rs.AddNew
        rs!ItemNo = ctl.Column(0)
        rs!Description = ctl.Column(1)
        rs!UnitCost = ctl.Column(2)
        rs.Update
      Next varItem


Есть идеи?

10000