在数字变量中存储从VBA运行的sql select语句

时间:2014-01-21 18:14:15

标签: sql vba ms-access select access-vba

我正在创建一个动态传递查询,为了做到这一点,我首先需要查询我的本地数据库并获取一个ID。 我将把这个ID放入查询的WHERE子句的传递查询中。

我的字符串:

getCorpID = "SELECT corpID " & _
            "FROM dbo_corp " & _
            "WHERE name = " & Forms.frmMain.Combo4.Value

然后我尝试做类似的事情:

CorpID (integer) = docmd.runsql (getCorpID)

我意识到,然而docmd runsql不能与select语句一起使用,或者甚至返回一个值。我可以用什么来运行我的字符串

getCorpId

作为sql并在我的变量CorpID中存储结果(它只会是一个结果,每次都是一个数字)

谢谢。

1 个答案:

答案 0 :(得分:1)

考虑使用Recordset

Dim dbs As DAO.Database
Dim rsSQL As DAO.Recordset
Dim getCorpID As String
Dim CorpID 

Set dbs = CurrentDb


getCorpID = "SELECT corpID " & _
        "FROM dbo_corp " & _
        "WHERE name = " & Forms.frmMain.Combo4.Value
Set rsSQL = dbs.OpenRecordset(getCorpID , dbOpenSnapshot)
rsSQL.MoveFirst
CorpID = rsSQL.Fields("corpID")