使用 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驱动程序管理器未发现数据源名称并且未指定默认驱动程序”
如何在 Java 中使用 ODBC 将 Excel 文件导入 MySQL?