各位大大好:
小弟有一陣列轉換的問題,
一直百思不解。特請敎各位大大。
小弟是想直接利用Transpose轉置方式來逹成
陣列的轉換。但因資料庫內部份字串會在雙引號內。
如此,影響到TRANSPOSE陣列的轉換。
請問在SQL語法中如何引用REPLACE將
雙引號更改為單引號呢?
語法如下:
Sub AA()
Dim myCon As New ADODB.Connection
Dim myRst As New ADODB.Recordset
Dim myCnc As String
Dim myCmd As String
Dim myFileName As String
Dim s1%, s2%
Dim mPath$
Dim mData, mData1
Dim mSht As Worksheet
mPath = "D:\TEMP"
myFileName = "TEMP-A.xls" '測試檔
myCnc = "Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & mPath & "\" & myFileName & ";"
myCmd = "SELECT 編號,分類,名字,國文,數學,合計 FROM [F_Data01$]" '如何在此語法內引用REPLACE來取代編號、分類、名字內的雙引號呢?
myCon.Open "Provider=MSDASQL;" & myCnc
myRst.Open Source:=myCmd, ActiveConnection:=myCon
mData = myRst.GetRows 'A欄因部份字串有雙引號因而無法取出資料
s1 = UBound(mData, 1)
s2 = UBound(mData, 2)
Set mSht = Worksheets(1)
mData1 = Application.Transpose(mData) '無法轉置 執行階段錯誤13 ,型態不符合。
With mSht
.Range("a1").Resize(s2, s1) = mData1 '無法轉置 執行階段錯誤13 ,型態不符合。
End With
myRst.Close
myCon.Close
Set myRst = Nothing
Set myCon = Nothing
End Sub
備註:雙引號在字串內並非有一定規則
感恩各位大大! |