如何将记录信息从列表框存储到表中?

问题描述 投票:0回答:1

我正在使用链接到按钮cmdAdd的以下代码。使用“单击时”事件,列表框选择信息被复制到表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。当前,它仅将来自No的选择中的1条信息从qryParts传输到称为ItemNo(ID#8)的列中。这可以正常工作,但是我还需要将记录的[[Description和Unit CostqryParts转移到KitBuild

enter image description here

我尝试将以下内容更改为rs!Descriptionrs!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的信息的示例。enter image description here

如何修改代码以包含

编号,说明和费用

ms-access access-vba ms-access-2010
1个回答
0
投票
我假设您的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

© www.soinside.com 2019 - 2024. All rights reserved.