excel vba sql语句返回单个字符串

标签 excel ms-access vba

我正在为 Access 数据库编写一条 sql 语句,无论输入如何,该语句都会返回唯一的值。我正在使用此代码,但是我在执行语句上遇到类型不匹配的情况。

strSQL = "SELECT FilePath " _
    & "FROM ToolFiles " _
    & "WHERE Project_Num = '" & theSelectedProj & "'" _
    & "AND Tool_Name = '" & theSelectedProjName & "'"

filePath = cn.Execute(strSQL)

有没有办法从sql语句中返回字符串?

谢谢

最佳答案

答案是否定的。ADO Execute() 方法返回一个记录集对象,您需要将其读入字符串变量。像这样的事情应该可以做到:

Dim rs As ADODB.Recordset

....
Set rs = cn.Execute(strSQL)

If Not (rs Is Nothing) Then
    With rs
        If Not (.BOF) And Not (.EOF) Then
            strFilePath = Format$(.Fields(1).Value)
        End If
    End With
End If

关于excel vba sql语句返回单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9668381/

相关文章:

VBA:循环浏览文件夹中的文件,并从包含特定字符串的所有文件中获取信息

vba - 在一个单元格内查找具有不同字符串的匹配单元格

delphi - 如何将 Access 表中的列名加载到变量中(我不确定使用哪一个)?我在 Delphi7 中使用 ADOTable

sql - 需要远程或基于 Web 的 MS Access SQL 工具(例如类似于 PhpMyAdmin,但基于 ColdFusion)

excel - 等待查询完成后再继续

excel - 将调整大小的图片从 Excel 导出到 PowerPoint 2010

excel - 过滤器中的多个标准

mySQL + vba,检查表中是否已存在某个项目

python - 在 Ubuntu 上使用 Access 数据库 (.mdb) 和 Python

c++ - VBA 调试器精度