首页 > 解决方案 > 保存在多选列表框中选择的记录

问题描述

我正在尝试为保存按钮编写代码,该按钮应该保存多选列表框中选择的所有行的数据。这是我的代码:

Dim strID As String, strFullName As String, strUsedNumber As String, strUsedAddress As String, strUsedPosition As String
Dim iCurrRow As Integer
strID = txtID
strFullName = txtFullName
strUsedNumber = lstTest.Column(0, iCurrRow)
strUsedAddress = lstTest.Column(1, iCurrRow)
strUsedPosition = lstTest.Column(2, iCurrRow)

iCurrRow = 0
Do While (iCurrRow < lstTest.ListCount)
    If lstTest.Selected(iCurrRow) Then
        IO_TestData.saveInfoUsedInTestData strID, strFullName, strUsedNumber, strUsedAddress, strUsedPosition
    End If
    iCurrRow = iCurrRow + 1
Loop

目前它只保存列表框的第一行——如果你从列表中选择三行,它会尝试保存第一行三次。有人可以帮我解决这个问题吗?

标签: vbams-access

解决方案


您将变量设置为

strUsedNumber = lstTest.Column(0, iCurrRow)
strUsedAddress = lstTest.Column(1, iCurrRow)
strUsedPosition = lstTest.Column(2, iCurrRow)

在循环之外,因此它们永远不会改变。


推荐阅读