自动在Access数据库中生成用户报告

时间:2016-12-13 17:14:12

标签: vba ms-access

Good Afternoon All,

我公司每年大约两次,我必须为某些经理生成用户报告。我生成这些报告并将它们发送给适当的用户没有问题,但这总是需要操作员对我的团队采取行动。我想看看是否有更简单的方法来做到这一点。我的想法是使用一个按钮生成并通过电子邮件发送这些批量报告。我可以通过VBA或宏来做到这一点吗?或者我不应该走那条路,因为有一种更简单的方法吗?

感谢各位帮忙。

1 个答案:

答案 0 :(得分:1)

是的,你可以。因为你只是要求方向,而且这不是一个自由职业者小组,所以你可以期望人们为你编写整个代码,我只给你一个我已经在我的一个文件上的部分并解释你应该如何做其余部分。

我不确定您的报告是否会以Excel,word或任何其他文件显示,但主要的想法是编写一个运行查询的vba代码,并以您想要的方式收集数据并对其进行格式化。这将是您挑战,找出详细信息,您将无法在一个帖子中得到所有问题的答案。

对于您要发送电子邮件的部分,以下是我可以为您提供帮助的代码:

Sub Email_Recepients(sEMailSubj As String, sPath As String, sBody As String)
    Dim olApp As Object
    Dim olMail As Object

    If bolHandleErrors Then On Error GoTo Handler

    Set olApp = CreateObject("Outlook.Application")
'    olApp.Visible=True
    Set olMail = olApp.CreateItem(0)
    With olMail
        .To = Mat_EmailAddress
        .Subject = sEMailSubj
'        .Attachments.Add sPath
'        .DeleteAfterSubmit = True
'        .HTMLBody = sBody
'        .Send
    End With
    Set olMail = Nothing
    Set olApp = Nothing
    Application.Wait Now + TimeValue("00:00:04")
    Exit Sub

Handler:
    Application.EnableEvents = True
    Application.ScreenUpdating = True

    MsgBox "Oops! Something went worng. I could not get Outlook to send your                  message. Please try again later.",vbInformation, "Email HHI Governance Function"

  End Sub

某些行已被注释掉,但您可以取消注释它们并在需要时使用它们。确保定义他们在代码开头使用的变量。