sql - VBA SQL 查询中的问题引用列
问题描述
我有一个我正在尝试对其执行 SQL 查询的 excel 电子表格。我得到“没有为一个或多个必需参数提供值”,所以我认为这是我的查询有问题。我可以执行类似“SELECT * FROM [Employee$A2:A4]”的查询,但是当我使用名称(即名称、标题...等,甚至使用 F1 等通用列引用)引用特定列时,我得到“没有为一个或多个必需参数提供值。”
这是我的代码:
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
strFile = ThisWorkbook.FullName
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
strSQL = "SELECT Employee FROM [Employee$] AS e WHERE e.Skill_Title = " & """" & skillTitle & """" & " AND e.Branch = " & """" & branchTitle & """" & " AND e.Skill_Prof = 5"
rs.Open strSQL, cn
MsgBox (rs.GetString)
任何想法可能会发生什么?
解决方案
尝试应用以下示例。
告诉我问题是否仍然存在以及您正在使用的输入。
我在员工表上有这个:
如下创建“MyQuery”子流程(如您所见,这是您的代码的副本,有一些小的差异):
Sub MyQuery(ByVal skillTitle As String, _
ByVal branchTitle As String, _
ByVal skillProf As Integer)
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
strFile = ThisWorkbook.FullName
strCon = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & strFile & ";" & _
"Extended Properties=""Excel 12.0;" & _
"HDR=Yes;" & _
"IMEX=1"";"
Set Cn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
Cn.Open strCon
strSQL = _
"SELECT Employee " & _
"FROM [Employee$] AS e " & _
"WHERE e.Skill_Title = '" & skillTitle & "' AND " & _
"e.Branch = '" & branchTitle & "' AND " & _
"e.Skill_Prof = " & CStr(skillProf)
Rs.Open strSQL, Cn
MsgBox (Rs.GetString)
'Do not forget closing your connection'
Rs.Close
Cn.Close
End Sub
做了一个快速测试:
Sub test()
'Try running this'
Call MyQuery("FOUR", "Y", 5)
End Sub
结果:
推荐阅读
- javascript - 使用 JS 向父级添加子级
- arraylist - 进行“列表”添加的语言
- botframework - 如何暂时禁用机器人的语音?
- c# - 将段落或文本框附加到 RichTextBox
- amazon-ec2 - 使用非标准 centos 用户名在 Centos 7 上安装 AWS CLI V2 时出现问题 - 权限被拒绝。需要 Sudo
- javascript - Discord 机器人命令错误
- sql - 为单个字段更新 postgres 创建自动更新触发器
- python - 在递归函数中附加后,Python全局列表不断被清除
- node.js - 测试 Firestore 安全规则:为什么即使在安全规则中的 debug 语句之后,firestore-debug.log 也是空的
- spring - Spring MongoDB 与 NearQuery 保持距离