2015-04-06 87 views
0

我想创建一个报告在我的访问应用程序中运行的所有时间的日志。在每个报告的打开中放置一行代码或创建一个自定义子文件来打开报告,有没有简单的方法来实现这一点?创建打开的报告的日志

回答

0

我认为你在每个公开事件中都需要一些代码,但它不应该那么棘手。

如果是我,我会成立了一个表来存储时运行报表的所有审计记录..一些与这些领域或许是:

enter image description here

我会再创造一个新的模块通过将创建>模块写一个子程序:

enter image description here

我然后写一个公共的子程序,我可以从任何运行报告事件的调用。子例程也会有一个参数(rptName),所以我可以将运行子例程的报表的名称传递给子例程,以便子例程可以使用它来填充我的表的“ReportName”字段:

Public Sub ReportLog(rptName As String) 

    Dim Db As DAO.Database 
    Dim rs As DAO.Recordset 

    Set Db = CurrentDb 
    Set rs = Db.OpenRecordset("OpenedReportLogs") 

    rs.AddNew 
    rs!ReportName = rptName 
    rs!RunDate = Now() 
    rs!RunBy = Environ("USERNAME") 
    rs.Update 

    rs.Close 
    Set rs = Nothing 
    Set Db = Nothing 

End Sub 

上面的代码打开我创建的“OpenedReportLogs”表,添加一条新记录,并用必要的数据填充新记录的字段。

要运行给定的报告时运行此代码,我只是从运行给定报告的事件调用它。所以,如果,例如,我有3个按钮的仪表板,每个运行不同的报告,像这样:

enter image description here

我会去到每个按钮上单击事件并调用的名称我的子程序;我一定要提供“rptName”的说法还有,在这种情况下将正在运行的子程序报告的名称:点击每个按钮

enter image description here

提出以下条目到我“OpenedReportLogs”表:

enter image description here