vba - 如何将记录信息从 ListBox 存储到 Table?
问题描述
我正在使用以下链接到按钮的代码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
下面显示的是保存选择的表格。目前,它仅将来自选择的超过 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
。
如何修改代码以包含No、Description 和 Cost?
解决方案
我假设您的 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
推荐阅读
- javascript - JavaScript - 设置超时功能,然后获取 innerHTML 并设置 sessionStorage
- numpy - numpy.rfftn 的多元多项式数组表示
- swift - 如何在完成处理程序中使用完成处理程序
- python - 通过查询集访问的对象没有 Django 中的属性
- vb.net - VB.net 使用验证执行插入语句时出现语法错误
- html - 放大镜和图像对齐
- git - .gitattributes 语言学家语言声明
- javascript - 遍历数组并加入 Google Apps 脚本
- python - AttributeError:“TensorSliceDataset”对象没有属性“get_shape”
- python - 如何从 Pandas Dataframe 中的列中删除最后三个字符