我在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,adLockOptimistic = 3,adCmdText =& H1
我使用下面的方法将记录集复制到Excel中
rngRange.Offset(1, 0).CopyFromRecordset objRecordsetXL
如何在记录集上显示字母数字项? 谢谢!
答案 0 :(得分:0)
问题在于我将查询结果复制到的范围。只有源范围具有文本格式。我将查询结果复制到的范围的格式通常是这样的,所以我猜Excel会根据第一个单元格值自动将数据转换为数字。
我通过将格式更改为文本来解决此问题。