将SELECT语句的结果作为变量使用。

问题描述 投票:0回答:1

我有下面的代码,它工作得很好。

Dim result As Integer

result = 20

DoCmd.RunSQL "INSERT INTO ReportingTable (BUDGETPER1) VALUES (" & result & ");"

我并不是真的想硬编码20 而是用SELECT语句来填充。

select PD01 from SetVariables WHERE VariableType = 'HEADCOUNT' and BusinessUnit = 511

(这个SELECT语句的结果是20,我已经测试过了,没有问题)

最简单的方法是什么?我知道在这个特定的例子中,我可以使用Dlookup来实现所需的结果,但我需要搞清楚用select语句定义变量的概念。

vba ms-access variables
1个回答
0
投票

你可以使用一个 SELECT 查询来确定要插入到表中的数据。

Sub sInsertData()
    Dim db As DAO.Database
    Dim strSQL As String
    Set db = DBEngine(0)(0)
    strSQL = "INSERT INTO ReportingTable (BUDGETPER1) " _
        & " SELECT PD01 FROM SetVariables " _
        & " WHERE VariableType='headcount' AND BusinessUnit=511;"
    db.Execute strSQL
    Set db = Nothing
End Sub

你也可以根据需要用其他值替换 "人数 "和 "511"。

请注意。

© www.soinside.com 2019 - 2024. All rights reserved.