在Microsoft Access中自动生成报告

时间:2016-01-26 18:01:43

标签: vba ms-access

目前,我正在为我们的附属医院构建更新的Microsoft Access数据库,以便为潜在的医学研究保留文档的时间表。数据库本身是独立的,所以 没有 真正的后端可以说(这会伤害我,但我无法控制他们如何处理他们的数据)。它目前只包含一个表,其中包含所需的所有必填字段。我希望每周,每月,每季度和每年自动生成报告。但是,我必须承认我的vba编码能力充其量只是参差不齐。我的问题是:

  1. 我需要使用哪些代码来生成所述报告?

  2. 我是否需要根据需要生成的时间为每种类型的报告创建单独的查询,还是可以在一个查询中对其进行全部编码,而不会使不同的代码相互干扰?

  3. 如果需要任何其他信息或澄清,我很乐意尽我所能。

3 个答案:

答案 0 :(得分:1)

从VBA或宏调用Report时,有两件事可能对您有用:

  1. 提供condition,如
    docmd.OpenReport "someReport",acViewPreview,,"[examDate] > Date() - 30"
  2. 提供OpenArg,您可以在报告中使用vba来更改周期,例如(" M"月刊和" w"周刊" ;),如
    docmd.OpenReport "someReport",acViewPreview,,"[examDate] > Date() - 30",,"W"
  3. 这些技巧应该允许您设计报告ONCE,然后将其用于动态时间范围和分组。

答案 1 :(得分:0)

如果您不想使用VBA,要创建自动报告打印/导出,您需要:

  1. 创建不需要用户输入的报告,使用日期函数查询所需的日期间隔。
  2. 创建用于启动报告和关闭数据库的宏,不需要VBA知识
  3. 在Windows任务计划程序中创建任务,以便在需要的日期/时间启动MS Access。命令行应包含用于打开指定数据库和启动指定宏(/ x macro_name)的参数。您可以找到参数说明,例如here

答案 2 :(得分:0)

评论说明了一切。

访问旨在使您所描述的性质的报告编写非常容易,并且可以在不使用VBA或宏的情况下实现很多。

如果要使用相同的报告显示不同日期范围的相同数据集(或者可能与标准中的其他更改),则应提示用户输入日期范围或导致显示要更改的数据。 (即,他们输入的参数在查询中用于更改返回的数据)。

除了获取不同标准集的数据之外,还有许多报告和查询完全相同,这是无比的。

有许多Access Programming书籍可以帮助您重新学习这些技能。我发现此频道对其他访问视频有用https://www.youtube.com/user/ProgrammingMadeEZ/search?query=reports,但对报告没有用。

哈维