我正在使用ADODB連接編寫SQL語句以便在excel vba中提取數據。如何使用adodb編寫sql查詢來選擇長度超過255個字符的數據
我的問題是,我有一個單元格它包含一個字符串超過255個字符。
我想知道是否有一種方法對我來說,繼續使用ADODB連接選擇具有超過255個字符
這是我使用的功能數據。
Public Function QueryRead(sqlArg As String) As Dictionary
Dim pConnection As ADODB.Connection
Set pConnection = New ADODB.Connection
With pConnection
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & ActiveWorkbook.FullName & _
";Extended Properties=Excel 8.0;"
'.Provider = "MSDASQL"
'.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & App.Path & "\ExcelSrc.xls; "
.CursorLocation = adUseClient
.Open
End With
Dim pMap As New ADODB.Recordset
Dim sql As String
sql = sqlArg
Dim resultSet As New Dictionary
pMap.Open sql, pConnection
If pMap.RecordCount > 0 Then
Dim record As Variant
Dim counter As Integer
counter = 0
Do Until pMap.EOF
Dim resultRecord As Dictionary
Set resultRecord = New Dictionary
For Each record In pMap.fields
resultRecord.Add record.Name, record.value
Next
Dim index As String
index = CStr(counter)
resultSet.Add index, resultRecord
counter = counter + 1
pMap.MoveNext
Loop
End If
pMap.Close
pConnection.Close
Set QueryRead = resultSet
End Function
我這是怎麼稱呼它
Set resultSet = model.QueryRead("SELECT * FROM [Database$] WHERE [Level] = 2 AND [Item_No] = '" & itemNo & "'")
我的工作表被稱爲數據庫,它有諸如等級和ITEM_NO列。
列公式之下的單元格之一具有超過255個字符的字符串。
請指教。
UPDATE
我想強調的是
a)其是萃取的是超過255個字符的限制各個場數據。意思就是說,在*的「SELECT * FROM」
二)它是超過255個字符
C未我的輸入參數)這不是我的查詢字符串超過255個字符
嘗試使用'ADODB.Command'和數據綁定('Command.Parameters.Append Command.CreateParameter(text_index ,enum_type,enum_direction,大小,值)')。 – Passerby
你能給我一個更清晰的圖片和答案嗎?謝謝。 –