我敬酒,想不通爲什麼我在 rst.Open STRSQLADODB Recordset.Open給語法錯誤擅長於SQL
我已經試過了線得到一個語法錯誤與rst.Open strSQL,cnt,adOpenStatic,adLockReadOnly,adCmdText
但它仍然給我一個錯誤。
我有一個偷偷的猜疑,它與strSQL如何獲取單元格值並將其追加到字符串的末尾。
任何幫助,高度讚賞。
Public Sub EzPz()
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset
Dim strSQL As String
'Open connection
cnt.ConnectionString = "Driver={SQL Server};Server=HIDDEN;Database=HIDDENXX;Trusted_Connection=yes;UID=HIDDENU;PWD=HIDDENP;"
cnt.Open
'String for SQL cmd
Dim p1 As Range
Set p1 = ActiveSheet.Cells(1, 4)
strSQL = "SELECT DBNAME.vItem.Upc FROM DBNAME.vItem WHERE vItem.ItemDesc=" & p1.Value
rst.ActiveConnection = cnt
rst.Open strSQL
ActiveSheet.Cells(1, 1).CopyFromRecordset rst
End Sub
兩個大問題和你的問題 - 兩件大事1)你正在顯示你的用戶名和密碼。你現在需要改變它們。 2)你正在使用字符串連接 - 這是一個安全問題,任何公共網站都會在幾個小時內被黑客入侵。最後是錯誤的原因是你沒有在引號中包圍字符串值 – Hogan
我改變了密碼和用戶名哈哈HIDDENU和HIDDENP不是用戶及密碼:P 這是否意味着rst。打開「strSQL」 – Mjall2
我是很高興聽到那些不是你的用戶名和密碼:)沒有 - 我的意思是字符串常量在sql需要引號中的實際值 - 但許多答案涵蓋了這一點。 – Hogan