Excel中的SQL查询显示某些值的空白

时间:2017-03-08 13:40:17

标签: sql excel-vba vba excel

我在Excel上的工作表上有数据,我使用SQL查询来获取数据集。 这是查询返回的列。

Sample Data

但是,仅显示数字格式的项目,如果该项目是字母数字,则为空白。结果查询如下:

enter image description here

我已将此列格式化为文本,下面是我的连接字符串:

objConnectionXL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & ThisWorkbook.FullName & ";" & _
        "Extended Properties=""Excel 8.0;HDR=Yes;"";"

使用过的查询字符串:

sQueryFilteredValues = "Select [Reference] From [Data$] Where " & sFilterCriteria

我也尝试使用下面的查询字符串,但结果相同:

sQueryFilteredValues = "Select CSTR([Reference]) From [Data$] Where " & sFilterCriteria

记录集:

objRecordsetXL.Open sQueryFilteredValues, objConnectionXL, adOpenStatic, adLockOptimistic, adCmdText

其中:adOpenStatic = 3,adLockOptimistic = 3,adCmdText =& H1

我使用下面的方法将记录集复制到Excel中

rngRange.Offset(1, 0).CopyFromRecordset objRecordsetXL

如何在记录集上显示字母数字项? 谢谢!

1 个答案:

答案 0 :(得分:0)

问题在于我将查询结果复制到的范围。只有源范围具有文本格式。我将查询结果复制到的范围的格式通常是这样的,所以我猜Excel会根据第一个单元格值自动将数据转换为数字。

我通过将格式更改为文本来解决此问题。