使用 Excel ODBC 驱动程序进行字符串比较

Posted

技术标签:

【中文标题】使用 Excel ODBC 驱动程序进行字符串比较【英文标题】:String comparison using Excel ODBC driver 【发布时间】:2016-09-16 12:10:58 【问题描述】:

下面的 SQL 查询给出了这个错误:

“[Microsoft][ODBC Excel 驱动程序] 参数太少。应为 1。”

Dim adoRS As New ADODB.Recordset

adoRS.Open "SELECT CStr(BOX) AS 'STRBOX',SLOT FROM [BiosAMPLES$] WHERE STRBOX = '" & CStr(nBoxID) & "'" & " ORDER BY SLOT", adoConn

怎么了?

【问题讨论】:

您真的想将“Cstr(Box)”传递给数据库吗?你不应该先在 vba 中评估这个吗? 嗨。不,因为 ODBC Excel 驱动程序不理解 CAST 或 CONVERT 函数,而只理解 CStr。问题似乎是在评估 WHERE 子句时找不到 STRBOX 别名。 这是你的全部代码吗?您是先打开ADODB.Connection 吗? 嗨。是的当然。我只是为了简洁起见。我找到了解决方法。请参阅下面的答案。 【参考方案1】:

好的,我找到了解决这个愚蠢的 Excel 问题的方法。这是我的解决方案:

Dim adoRS As New ADODB.Recordset

adoRS.Open "SELECT BOX,SLOT FROM [BIOSAMPLES$] WHERE CStr('B' & BOX) = 'B" & CStr(nBoxID) & "'" & " ORDER BY SLOT", adoConn

干杯。-

【讨论】:

以上是关于使用 Excel ODBC 驱动程序进行字符串比较的主要内容,如果未能解决你的问题,请参考以下文章

通用Excel设置MySQL外部数据源时提示:“ODBC驱动程序管理器未发现数据源名称并且未指定默认驱动程序”

从excel读取(utf-8)字符串与odbc

使用 odbc excel 驱动程序转换数据类型

如何在 Java 中使用 ODBC 将 Excel 文件导入 MySQL?

使用 Simba ODBC 驱动程序从 Excel 查询 Couchbase 视图

Excel ODBC SQL 语句抛出错误'[ODBC EXCEL 驱动程序] 条件中的数据类型不匹配