使用打开表单中的参数打开记录集

时间:2017-01-03 22:42:15

标签: vba ms-access outlook

我尝试从Access向Outlook发送电子邮件。记录集将基于打开表单上使用参数(日期)的表。

我运行正常:

    Set rstEMail = MyDB.OpenRecordset("Select [Courriel] FROM [N_BR_TEST_TOTAL]where [D examen]=#2016-08-20#", dbOpenSnapshot, dbOpenForwardOnly)

但不是这样:

    Set rstEMail = MyDB.OpenRecordset("Select [Courriel] FROM [N_BR_TEST_TOTAL]where [D examen]=[Forms]![F-EVENEMENT]![DATE]", dbOpenSnapshot, dbOpenForwardOnly)

第二行给出了运行时错误3061:参数太少。预计1。

是否可以通过Select / Where?

传递日期值

我希望在包含运行代码的命令按钮的表单上显示的特定日期向所有已注册的活动发送电子邮件

1 个答案:

答案 0 :(得分:1)

您需要从双引号中删除表单和字段引用,并使用&符号将其连接到sql字符串的其余部分。

Set rstEMail = MyDB.OpenRecordset("Select [Courriel] FROM [N_BR_TEST_TOTAL]where [D examen]=" & [Forms]![F-EVENEMENT]![DATE], dbOpenSnapshot, dbOpenForwardOnly)