首页 文章

通过查询和VBA在Access中发送电子邮件

提问于
浏览
2

第一次发布海报......我对VBA很新,目前处于喜剧/捏合和修改阶段,但我希望这不会持续很长时间 .

我目前在Access中玩游戏并尝试开发一个数据库,教师在需要上课的时候记录应用程序(理想情况下我会在SQL中执行此操作,但目前我不能) .

Access中的数据库和表单几乎就是我想的,但我希望数据库在应用程序发出时通知某个工作人员 . 选择工作人员将通过从查询驱动的组合框中选择他/她来完成 . 查询的原因是我只希望特定的工作人员接收此通知 - 主要是那些管理其他工作人员的通知 .

一旦选择了该工作人员,我基本上希望制作该应用程序的人单击一个按钮,然后该按钮将向组合框中选择的人发送电子邮件 . 我曾尝试在VBA中放置一些东西但是我得到一些东西,然后什么都没有 .

这是我到目前为止,DLookup使用在组合框中选择的工作人员然后在Staff表中找到电子邮件地址:

Private Sub Command788_Click()
Dim Email_Note As Variant
Email_Note = DLookup("Email", "Staff", Forms![Cover Application Form]!Combo767)
Dim olLook As Outlook.Application
Dim olNewEmail As Outlook.CreateItem
Dim StrContactEmail As String
Set olLook = New Outlook.Application
Set olNewEmail = olLook.CreateItem(olMailItem)
strEmailSubject = "Application for Cover: Line Manager Notification"
strEmailText = "Something in here..."
StrContactEmail = "Email_Note"
olNewEmail.Display
End Sub

1 回答

  • 3

    您应确保在VBA编辑器的工具选项卡中引用Outlook库 . 它看起来像你为身体和主题创建了字符串,但没有声明它们 . 而不是将它们声明为字符串变量,只需将 outlook. body 等设置为相应的字符串,如下所示 .

    一旦将 email_note 声明为变量,就不需要用引号封装 email_note . 我以为那是一个电子邮件地址?

    不再需要 strContactEmail ,我看不到它的使用位置 .

    Private Sub Command788_Click()
    Dim Email_Note As Variant
    Email_Note = DLookup("Email", "Staff", Forms![Cover Application Form]!Combo767)
    Dim olLook As Outlook.Application
    Dim olNewEmail As Outlook.mailItem
    'Dim StrContactEmail As String
    Set olLook = New Outlook.Application
    Set olNewEmail = olLook.CreateItem(olMailItem) 
       olNewEmail.Subject="Application for Cover: Line Manager Notification" 
       olNewEmail.Body = "Something in here..."
       olNewEmail.To = email_note
       olNewEmail.Send
    Set olNewEmail = Nothing
    Set olLook = Nothing
    End Sub
    

相关问题