Email 如何安排将MS Access查询自动导出到Excel并通过电子邮件发送?

Email 如何安排将MS Access查询自动导出到Excel并通过电子邮件发送?,email,ms-access-2010,export-to-excel,schedule,Email,Ms Access 2010,Export To Excel,Schedule,我知道Access可以设置Outlook任务以将查询自动导出到Excel,但它要求Outlook始终在用户计算机上打开 是否有一种简单的方法可以设置一个时间表,该时间表可以自动将查询导出到Excel,然后将导出的Excel文件自动通过电子邮件发送到电子邮件地址(例如,每周一上午5点) 如果这只能在VBA中完成,那么我可以从任何参考开始吗 谢谢。我认为您无法使用Access来完成此操作。您可以使用以下工具: 他们能够从数据库中获取数据,将其导出到excel并通过电子邮件发送。报告精灵是便宜的,

我知道Access可以设置Outlook任务以将查询自动导出到Excel,但它要求Outlook始终在用户计算机上打开

是否有一种简单的方法可以设置一个时间表,该时间表可以自动将查询导出到Excel,然后将导出的Excel文件自动通过电子邮件发送到电子邮件地址(例如,每周一上午5点)

如果这只能在VBA中完成,那么我可以从任何参考开始吗


谢谢。

我认为您无法使用Access来完成此操作。您可以使用以下工具:


他们能够从数据库中获取数据,将其导出到excel并通过电子邮件发送。报告精灵是便宜的,虽然它是相当旧的软件,我不知道它是否有任何支持。我认为也没有办法安排任务。R-Tag有付费和免费版本。这两个版本都允许您安排任务,将数据从任何数据库导出到excel并通过电子邮件发送文件。免费版本有一些限制

我不知道如何安排,但这可能会给你一个好的开始:

If Weekday(Now(), 2) = 1 Then   
If Forms![Head Form]![Once subform].Form![ID] = 0 Then
DoCmd.OpenQuery "UpdateOnce1", acViewNormal, acEdit
DoCmd.SetWarnings False
DoCmd.OpenReport "Report1", acViewPreview
DoCmd.RunSavedImportExport "Export-Report 1"

Dim strSql
Dim db As Database
Set db = CurrentDb()
Dim Outlook
Dim rng
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
.To = "number of mail adresses"
.CC = ""
.BCC = ""
.Subject = "Report 1"
.HTMLBody = ""
.Attachments.Add ("T:\.....\Report1.pdf")
.Send

End With


DoCmd.Close acReport, "Report1"

End If
End If
因此,如果是星期一,代码还没有运行(它会检查ID是否等于0),报表1将打开,导出为PDF,作为附件添加,然后通过outlook邮寄