是否能够将 VBA 变量传递给 ADO SQL 语句?

Is it able to pass the VBA variable into ADO SQL statement?

我使用 ADO 来 运行 excel 中的 SQL。

SQL 是

 sSQLSting = "SELECT  officer ,sum(mkt) from [$DB] where month=2 group by officer"

在我的系统中,有一个由是和否选项组成的组合框。

对于 Yes ,SQL where 语句将变为 where month=3

对于 No ,SQL where 语句将变为 where month=4

在我的计划中,我想调暗一个整数变量以将 month 存储在 VBA.Then 中,变量 -month 获取组合框结果,以便 3 将存储到 month.


最后,integer variable-month 可以传递给 SQL 语句 ***

     sSQLSting = "SELECT  officer ,sum(mkt) from [$DB] where month=***group by officer

这是我的计划。 是否可以捕获组合框结果并将值传递给 SQL 语句?

像这样的东西将能够在 SQL 语句中传递变量。它仍然是一个字符串,所以你只需要像对待一个一样对待它。

Dim month As Long
 month = 2
 sSQLSting = "SELECT  officer ,sum(mkt) from [$DB] where month= " & month & " group by officer"

对于组合框,像这样,

Dim month As Long
     month = combobox1.Value
     sSQLSting = "SELECT  officer ,sum(mkt) from [$DB] where month= " & month & " group by officer"

当然,您必须编辑代码以适合您的 combo_box 姓名等。