我有一个包含多个列表框的表单,所有工作都可以保存1!这是唯一一个源为数字数据类型的列表框。我知道这应该没关系,但我所看到的是,对于这个列表框只有返回的变量总是1,我无法理解为什么其他(数据类型文本)正常工作而这一个没有。我的所有Google搜索和MSN搜索以及StackOverflow上的搜索都没有帮助我解决我的问题,尽管有很多关于ListBoxes的问题。请帮忙!
编辑:对不起@Mat's Mug ......我希望没有必要,因为所有的检查都很冗长,但这就是要点。
For Each ctl In Form.Controls
With ctl
Select Case .ControlType
Case acListBox
If .Visible = True Then
.SetFocus
ItemCount = .ItemsSelected.Count
If .ItemsSelected.Count > 0 Then
For Each varItm In .ItemsSelected
If .Name = "lstRating" Then
sWhereClause = sWhereClause & "ThisRating=" & .ItemData(varItem) & " Or ThatRating = " & .ItemData(varItem)
Else
sWhereClause = sWhereClause & Mid(.Name, 4, Len(.Name)) & " = """ & .ItemData(varItm) & """"
End If
Next varItm
End If
End If
End Select
End With
Next ctl
注意:当.Name =“lstRating”为True时,无论选择什么,varItem返回的行都是1。列表框中填充的值为1到5,增量为0.5。
答案 0 :(得分:0)
好吧,我不敢相信我几个小时都在忽视它...当它在varItm中定义时,我在违规行使用varItem,没有“e”!完全是对我的疏忽。感谢所有人对此进行调查!