单击按钮以从 MS Access 表单中的字段填充 Outlook 电子邮件
click button to populate Outlook email from fields in MS Access Form
我正在努力提高我对 MS Access 的了解,以使我的公司运营受益。目前我正在尝试使用表单中的信息来填充电子邮件。在添加更多信息之前,我一直保持基本状态以确保我的理论是正确的。
我有一个名为 ClientListtbl
的 table 和一个名为 ClientListfrm
的表格。
我想要一个按钮来生成一封电子邮件,该电子邮件在电子邮件的“收件人”部分预填充了电子邮件地址(名为 EmailAddress
的字段),在主题中预填充了姓氏(名为 LastName
的字段)。我最终会想在电子邮件正文中添加一个“注释”字段,但我认为最好从小处着手。
在浏览了 Whosebug 和其他资源之后,我发现了一个似乎适合并将其改装到我的数据库中的代码,代码如下:
Private Sub Command20_Click()
Dim LastName As Variant
Dim Email As Variant
Dim objOutlook As Object
Dim objEmail As Object
LastName = ClientListfrm!LastName
Email = ClientListfrm!EmailAddress
Set objOutlook = CreateObject("Outlook.Application")
Set objEmail = objOutlook.CreateItem(0)
With objEmail
.To = Email
.Subject = LastName
.send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
End Sub
EmailAddress
为短文本
LastName
是短文本
当我点击按钮时,我收到一条错误消息
run-time error '424' Object required
单击调试 LastName = ClientListfrm!LastName
会突出显示。所以我尝试将 LastName 和 EmailAddress 更改为 As Object。这给出了同样的错误。
非常感谢任何帮助。
干杯
您尝试在表单中调用字段的方式存在语法错误。这对我有用,但可能还有其他方法:
Private Sub Command20_Click()
Dim LastName As Variant
Dim Email As Variant
Dim objOutlook As Object
Dim objEmail As Object
LastName = Forms("ClientListfrm").LastName
Email = Forms("ClientListfrm").EmailAddress
Set objOutlook = CreateObject("Outlook.Application")
Set objEmail = objOutlook.CreateItem(0)
With objEmail
.To = Email
.Subject = LastName
.send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
End Sub
这个 - 参考 Outlook - 对我有用:
Private Sub Command20_Click()
Dim LastName As Variant
Dim Email As Variant
Dim objOutlook As Outlook.Application
Dim objEmail As Outlook.MailItem
LastName = "Macron" 'ClientListfrm!LastName
Email = "someone@example.com" 'ClientListfrm!EmailAddress
Set objOutlook = Outlook.Application
Set objEmail = objOutlook.CreateItem(olMailItem)
With objEmail
.To = Email
.Subject = LastName
.send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
End Sub
所以,缺少的可能是表单控件的语法:
LastName = Forms!ClientListfrm!LastName.Value
Email = Forms!ClientListfrm!EmailAddress.Value
我正在努力提高我对 MS Access 的了解,以使我的公司运营受益。目前我正在尝试使用表单中的信息来填充电子邮件。在添加更多信息之前,我一直保持基本状态以确保我的理论是正确的。
我有一个名为 ClientListtbl
的 table 和一个名为 ClientListfrm
的表格。
我想要一个按钮来生成一封电子邮件,该电子邮件在电子邮件的“收件人”部分预填充了电子邮件地址(名为 EmailAddress
的字段),在主题中预填充了姓氏(名为 LastName
的字段)。我最终会想在电子邮件正文中添加一个“注释”字段,但我认为最好从小处着手。
在浏览了 Whosebug 和其他资源之后,我发现了一个似乎适合并将其改装到我的数据库中的代码,代码如下:
Private Sub Command20_Click()
Dim LastName As Variant
Dim Email As Variant
Dim objOutlook As Object
Dim objEmail As Object
LastName = ClientListfrm!LastName
Email = ClientListfrm!EmailAddress
Set objOutlook = CreateObject("Outlook.Application")
Set objEmail = objOutlook.CreateItem(0)
With objEmail
.To = Email
.Subject = LastName
.send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
End Sub
EmailAddress
为短文本
LastName
是短文本
当我点击按钮时,我收到一条错误消息
run-time error '424' Object required
单击调试 LastName = ClientListfrm!LastName
会突出显示。所以我尝试将 LastName 和 EmailAddress 更改为 As Object。这给出了同样的错误。
非常感谢任何帮助。
干杯
您尝试在表单中调用字段的方式存在语法错误。这对我有用,但可能还有其他方法:
Private Sub Command20_Click()
Dim LastName As Variant
Dim Email As Variant
Dim objOutlook As Object
Dim objEmail As Object
LastName = Forms("ClientListfrm").LastName
Email = Forms("ClientListfrm").EmailAddress
Set objOutlook = CreateObject("Outlook.Application")
Set objEmail = objOutlook.CreateItem(0)
With objEmail
.To = Email
.Subject = LastName
.send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
End Sub
这个 - 参考 Outlook - 对我有用:
Private Sub Command20_Click()
Dim LastName As Variant
Dim Email As Variant
Dim objOutlook As Outlook.Application
Dim objEmail As Outlook.MailItem
LastName = "Macron" 'ClientListfrm!LastName
Email = "someone@example.com" 'ClientListfrm!EmailAddress
Set objOutlook = Outlook.Application
Set objEmail = objOutlook.CreateItem(olMailItem)
With objEmail
.To = Email
.Subject = LastName
.send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
End Sub
所以,缺少的可能是表单控件的语法:
LastName = Forms!ClientListfrm!LastName.Value
Email = Forms!ClientListfrm!EmailAddress.Value