列表框填充有时会显示数字而不是文本值

时间:2018-06-18 16:08:35

标签: sql excel vba

我在userform中有一个列表框。我使用SQL查询来提取数据,然后填充列表框。当我在SQL中查看查询时,它很好并在这些字段中显示文本。列表框显示了这些数字,4和5,我假设的是列名称或字段值?

它应该说"垃圾填埋场/ Wellfield"和" O2级别",因此它不是文本长度问题。这是所有测试数据。最后一列正确显示" Sparkplugs / Ignition System"

列表框有7列数据。

列表框填充代码:

lbx_SSM.Clear
Do Until XL_RSet.EOF = True
    For i = 1 To 7
        If i = 1 Then
            lbx_SSM.AddItem (XL_RSet.Fields(columnName(i)))
        Else
            If Not (XL_RSet.Fields(columnName(i)) = "Null") 
                Then lbx_SSM.List(lbx_SSM.ListCount - 1, i - 1) =(XL_RSet.Fields(columnName(i)))
            End If
    Next i
    XL_RSet.MoveNext
Loop

1 个答案:

答案 0 :(得分:0)

我想通了,我不确定问题是什么,但使用它来填充列表框而不是上面的内容不会导致问题。我之前一直使用过第一个代码,因此它可能是Fields()问题或其他问题。见下文:

XL_RSet.Open 
XL_RSet.MoveFirst 
i = 0 
With Me.lbx_SSM 
    .Clear 
        Do 
        .AddItem 
        .List(i, 0) = XL_RSet![ID] 
        .List(i, 1) = XL_RSet![Unit] 
        .List(i, 2) = XL_RSet![Begin Time] ***Etc for other columns 
    i = i + 1 
    XL_RSet.MoveNext 
    Loop Until XL_RSet.EOF 
End With