VBA SQL'没有为一个或多个必需参数提供值'但字段存在

Posted

技术标签:

【中文标题】VBA SQL\'没有为一个或多个必需参数提供值\'但字段存在【英文标题】:VBA SQL 'No value given for one or more required parameters' but field existsVBA SQL'没有为一个或多个必需参数提供值'但字段存在 【发布时间】:2016-03-23 11:31:55 【问题描述】:

我正在尝试在 Excel 2010 VBA 中的另一个电子表格上运行 sql 查询。

我的连接设置正确并按预期工作,除了 1 列,由于某种原因给我这个错误。我检查了列的名称,还尝试将其重命名为超级简单的名称,但仍然没有。谁能想到还有什么问题。所有其他列都可用于选择。

strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & workbookPath _
                            & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"

这是查询,它适用于除“股票代码”列之外的所有其他字段。我尝试在源文件中重命名它,但没有运气......

sqlString = "SELECT [Ticket Number] FROM [Sheet1$A1:Z100]"

【问题讨论】:

你能提供整个代码块而不仅仅是 line sn-ps 吗?使用 ADO 还是 DAO 以及如何定义记录集很重要。 【参考方案1】:

试试这个:

strConnection = "Provider=Microsoft.Jet.OLEDB.4.0" _
              & ";Data Source=" & workbookPath _
              & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

【讨论】:

hmm 使用该字符串现在给我“找不到可安装的 ISAM” 你有哪个版本的 Excel? Windows 7 上的 Excel 2010 Thatnks,连接字符串有效,但我仍然有同样的问题。 我尝试了相同的查询,它成功了。我在win8 excel 2010上。

以上是关于VBA SQL'没有为一个或多个必需参数提供值'但字段存在的主要内容,如果未能解决你的问题,请参考以下文章

数据库错误:“没有为一个或多个必需参数提供值。”

没有为 OleDBDataAdapter 的一个或多个必需参数提供值

为啥我会收到 OleDbException:“没有为一个或多个必需参数提供值。”例外?

没有为一个或多个必需参数提供值。查询中的错误是啥

尝试从 Access 数据库中搜索时出现 C#OleDb 异常“没有为一个或多个必需参数提供值”[关闭]

错误:来自 ASP.NET 的 UPDATE 查询中的“没有为一个或多个必需参数提供值”