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

Excel中的SQL查询显示某些值为空,sql,excel,vba,Sql,Excel,Vba,我在excel的工作表上有一个数据,我使用SQL查询数据集。 这是查询返回的列 但是,仅显示数字格式的项目,如果项目为字母数字,则为空。结果查询如下: 我已将此列格式化为文本,下面是我的连接字符串: objConnectionXL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & ThisWorkbook.FullName & ";" & _ "Extended Pr

我在excel的工作表上有一个数据,我使用SQL查询数据集。 这是查询返回的列

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

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

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,ADLOCKOPTIMIZE=3,adCmdText=&H1

我使用下面的命令将记录集复制到Excel中

rngRange.Offset(1, 0).CopyFromRecordset objRecordsetXL
如何在记录集中显示字母数字项?
谢谢

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


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

这些单元格上的.NumberFormat是什么?我已将.NumberFormat设置为@。