【问题标题】:SQL Query in Excel shows blank for some valuesExcel 中的 SQL 查询对某些值显示为空白
【发布时间】:2017-03-08 13:40:16
【问题描述】:

我在 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

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

【问题讨论】:

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

标签: sql excel vba


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    相关资源
    最近更新 更多