Ms access 使用参数从MS Access查询发送电子邮件-Visual Basic

Ms access 使用参数从MS Access查询发送电子邮件-Visual Basic,ms-access,vba,Ms Access,Vba,3061错误,参数太少,应为2 查询链-最早开始的查询包含“[输入区域:”(地区表中的区域字段)和“输入年份”(例如2015-16)(数据表中的年份字段),最终查询包含电子邮件地址 希望onClick按钮事件发送电子邮件,但怀疑它没有接收到前面的两个参数,因此出现3061错误-非常感谢收到任何建议 Private子命令566_Click() '打开当前access数据库 Dim数据库作为DAO.Database Set db=CurrentDb Dim RS作为DAO.Recordset 添加为

3061错误,参数太少,应为2

查询链-最早开始的查询包含“[输入区域:”(地区表中的区域字段)和“输入年份”(例如2015-16)(数据表中的年份字段),最终查询包含电子邮件地址

希望onClick按钮事件发送电子邮件,但怀疑它没有接收到前面的两个参数,因此出现3061错误-非常感谢收到任何建议

Private子命令566_Click()
'打开当前access数据库
Dim数据库作为DAO.Database
Set db=CurrentDb
Dim RS作为DAO.Recordset
添加为字符串
'邮件消息MM
把MM调成字符串
Dim qrySQL作为字符串
Set db=CurrentDb
'创建SQL字符串-查询仅包含电子邮件地址
qrySQL=“选择QRY_N_M109。从QRY_N_M109发送电子邮件;”
'根据上面的sql语句创建记录集(表)
Set RS=db.OpenRecordset(qrySQL,dbOpenDynaset)
直到R.EOF为止
'通过读取每个记录中的电子邮件来创建电子邮件字符串
EmailAdd=EmailAdd&“;”&RS!电子邮件
'移动下一个记录!电子邮件
下一个
环
'以HTML格式创建电子邮件正文
MM=“亲爱的各位代表,”
MM=MM&“废话废话”
'创建新电子邮件
设置olook=CreateObject(“outlook.application”)
设置oMail=olook.createitem(0)
'设置参数
与奥马尔
.bcc=EmailAdd
.htmlbody=MM
.subject=“此处的标题”
.cc=”address@address.com"
.展示
以
端接头
您可以尝试使用SetParameter:


可能重复读到的文章已经安德烈-似乎是指MS Access表单,而不是MS Access查询使用!调用表单引用的语法?谢谢Gustav。我可以试试。
' Creates the SQL string - query contains just email addresses.
qrySQL = "SELECT QRY_N_M109.EMAIL FROM QRY_N_M109;"

' Set parameter values.
DoCmd.SetParameter "[Enter Area:]", "'" & InputBox("Enter Area:") & "'"
DoCmd.SetParameter "[Enter Year:]", "" & InputBox("Enter Year:") & ""

' Creates a recordset (table) based on the sql Statement above.
Set RS = db.OpenRecordset(qrySQL, dbOpenDynaset)