【发布时间】:2018-08-12 23:15:11
【问题描述】:
我正在尝试编写 VBA 代码以将 SQL 数据导入 Excel。除了WHERE 条件外,一切正常。我认为问题可能出在报价上。这是我的查询:
Sub Engineering_Milestone()
Dim v_project As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
v_project = Worksheets("Parameters").Range("B1").Value
'cn.Open "Provider = x.1; Data Source=x; Initial Catalog=x; Integrated Security=x"
cn.Open "Provider = Sx; Data Source=x; Initial Catalog=x; Integrated Security=x"
Worksheets("Engineering_Milestone").Range("A2:G5000").ClearContents
sql = " SELECT A.ENGINEER_ID, B.[Description], B.BUDGET_APPROVED, A.MILESTONE, A.[DESCRIPTION], A.PCT_COMPLETE, A.SCHEDULE_DATE FROM X as A Inner Join X as B on A.ENGINEER_ID = B.ENGINEER_ID WHERE B.Project_ID = " & "'" & v_project & "'" and A.Project_ID = " & "'" & v_project & "'"
rs.Open sql, cn
Sheets("Engineering_Milestone").Cells(2, 1).CopyFromRecordset rs
rs.Close
cn.Close
End Sub
当 SQL 查询有一个条件时,它可以正常工作,即 ...where B.Project_ID = " & "'" & v_project & "'"(没有第二个条件 -> and A.Project_ID = " & "'" & v_project & "'")。
我对此很陌生,如果有人能提供帮助,我将不胜感激......非常感谢。
【问题讨论】:
-
请解释“作品/从事的工作”。你有错误吗?你想做什么?这些是什么类型的字段?
-
v_project 是数字吗?
-
v_project 是一个字符串,比如 A.Project_ID = 'K34'
标签: sql vba excel where-clause