使用具有多个值查找字段的INSERT INTO

时间:2016-12-20 22:24:49

标签: vba

我有一个宏,它使用Access表中的下拉列表填充表单,然后要求用户选择多个项目:

代码:

  With myconn
  .Open ("DATABASE")
  End With

Set dataRst = myconn.Execute("SELECT ID, Name FROM [TABLE IN DATABASE] ORDER BY Name;") 'WHERE variable = '" & x & "';")

Do While Not dataRst.EOF

cboVAR1.AddItem x, x
cboVAR1.Column(0, x) = dataRst!Name
cboVAR1.Column(1, x) = dataRst!ID

cboVAR2.AddItem x, x
cboVAR2.Column(0, x) = dataRst!Name
cboVAR2.Column(1, x) = dataRst!ID

x = x + 1
dataRst.MoveNext
Loop

我使用的表单如下所示: Form

然后我想采取这些选择并将它们添加到电子邮件中:

Set myEmail = myOlApp.CreateItem(olMailItem)
myEmail.BodyFormat = olFormatHTML

myEmail.To = Var1
myEmail.CC = Var2

然后使用以下命令将新行更新为新表:

INSERT INTO [NEW TABLE] ([Variable 1], [Variable 2])
VALUES (VAR1, VAR2)

我可以填充电子邮件,但每当我尝试更新新表时,我都会得到:

运行时错误'-2147217900(80040e14)':

查询表达式'VAR1 value1中的语法错误(缺少运算符); VAR1 value2;'。

我已经尝试过阅读这个错误,但却无法弄清楚我错过了什么。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

如果那是你的确切代码,你需要做这样的事情,

此外,假设这两个变量始终是文本值。

myEmail.To = VAR1
myEmail.CC = VAR2
str = "INSERT INTO [NEW TABLE] ([Variable 1], [Variable 2])" _
         & " VALUES ('" & VAR1 & "','" & VAR2 & "')"

显然,我刚刚添加了str变量来演示插入语句的字符串如何在VBA中查找。