如何在 vba 中运行 sql select 查询并将结果存储在变量中?

Posted

技术标签:

【中文标题】如何在 vba 中运行 sql select 查询并将结果存储在变量中?【英文标题】:How to run sql select query in vba and store result in variable? 【发布时间】:2015-07-27 18:32:45 【问题描述】:

我希望能够在将返回值的 VBA 函数中运行 Select 查询。 Select 查询将不返回任何内容或只返回一个值。

类似这样的查询:

SELECT ID FROM Table WHERE ROWNUM = 1

我希望在 VBA 中返回的值将是查询返回的一个 ID。然后将其存储在 VBA 变量中以供以后使用。这可能吗?

【问题讨论】:

假设表在数据库(Access、SQL Server 等)中并且您可以访问它,那么是的,这是很有可能的。你应该用谷歌等搜索这个,然后在这里提问,因为这是非常基础和介绍性的,并且在互联网上的许多地方都被广泛覆盖,比我们在这里要好得多。 您可以创建一个 RecordSet 对象并使用 OpenRecordset 函数执行您的查询。这是一个简单的例子:***.com/questions/11017036/… 【参考方案1】:

您尝试做的事情很有可能,看起来像这样:

variable1 number = (SELECT ID FROM Table WHERE ROWNUM = 1)

这会声明您的变量并使用您的查询返回的值填充它。这仅在查询返回一个值时才有效。

【讨论】:

以上是关于如何在 vba 中运行 sql select 查询并将结果存储在变量中?的主要内容,如果未能解决你的问题,请参考以下文章

在access中用vba如何把SQL语句查询到的一个值赋给变量?

如何在 VBA 访问的子窗体中显示 Select SQL 语句的结果?

VBA Access SQL SELECT查询只返回一条记录

不确定如何制定此查询

从 Excel VBA 运行嵌套的 Access SQL 查询

如何在 VBA 中获取 Select SQL 语句的结果