在Access VBA中使用SQL

时间:2017-07-20 09:24:25

标签: sql vba ms-access access-vba

所以,这可能是一个有点愚蠢的问题,但我找不到足够的材料,或者我只是没有得到它。

我要做的是,在我的VBA代码中使用SQL语句。 我知道可以使用:DoCmd.runSQL,但这似乎对我不起作用,它总是吐出错误信息。

例如,我尝试:

Set StringArray() = DoCmd.RunSQL("Select column from table") 

If (DoCmd.RunSQL(Select sum(column) from table where coulmn = '" + Me.txtField + '") > 0) Then

但它总是抛出类似:编译错误。预期的函数或变量。

我不知道我是否只是理解了错误,但我认为你可以在DoCmd.runSQL中使用普通的SQL语句。

2 个答案:

答案 0 :(得分:2)

DoCmd.RunSQL是一种方法。它不返回结果,它执行一些动作。因此,您无法将其分配给StringArray()。

在此处查看更多信息:

https://msdn.microsoft.com/en-us/vba/access-vba/articles/docmd-runsql-method-access

答案 1 :(得分:1)

使用 GetRows 使用此骨架:

Dim rs As DAO.Recordset

Set rs = CurrentDb.Openrecordset("Select column from table") 

StringArray = rs.GetRows()    
rs.Close

Set rs = Nothing

查看完整故事的GetRows文档。