2017-03-08 76 views
0

我有一個Excel表上的數據,我用SQL來查詢獲取數據集。 這是查詢返回的列。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 

如何我也在記錄集上顯示字母數字項目? 謝謝!

+0

什麼是這些單元格上的'.NumberFormat'? – Ralph

+0

我已將.NumberFormat設置爲「@」。 –

回答

0

問題在於我將查詢結果複製到的範圍。只有源範圍具有文本格式。我將查詢結果複製到的範圍的格式一般,所以我猜Excel根據第一個單元格值自動將數據轉換爲數字。

我通過將格式更改爲文本來解決此問題。