2014-10-09 81 views
0

我知道Access可以设置为Outlook任务为自动导出查询到Excel,但它需要Outlook来始终在用户的计算机上打开。如何安排自动导出MS Access查询到Excel和电子邮件吗?

有一种简单的方法来设置,可以查询自动导出到Excel的时间表,这时间表将随后自动电子邮件导出Excel文件,使得每星期一的电子邮件地址早上5点,例如?

如果只能在VBA来完成,任何参考我可以下手?

谢谢。

回答

0

我不认为你可以访问做到这一点。您可以使用这样的工具:

http://www.r-tag.com

http://www.hybing.com/Report-Genie.html

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

0

我不知道怎么安排,但是这可能会给你一个良好的开端:

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是openend,导出为PDF,作为附件添加,然后通过outlook邮寄。