【问题标题】:crystal reports query水晶报表查询
【发布时间】:2010-07-14 17:58:54
【问题描述】:

这是我当前从 Access 数据库中提取数据的查询:

SELECT Count(Master.MasterID) AS Logs
FROM Master
WHERE (((Master.SubmitDate)<=#5/01/2010#) AND (((Master.CompleteDate)>=#5/01/2010# Or (Master.CompleteDate) Is Null)));

目前,我必须更改要查找计数的每个月的日期。我正在尝试将其迁移到水晶报告中,并且遇到了非常困难的时期。我希望能够输入一年的开始日期和结束日期,并以上面查询的格式分解报告,以便显示每个月初打开的日志计数。

【问题讨论】:

  • 为什么要迁移查询?您可以将 Crystal Report 的源数据库声明为 Access 文件。
  • 我的源数据库是访问文件。这是数据库中的一个查询,需要我更改我想要跟踪的每个月的硬编码日期...即我必须更改查询 12 次才能获取每个月的数据。我在问如何使用完整的年份日期范围作为我的主要输入源在水晶报表中复制它。

标签: crystal-reports


【解决方案1】:
  1. 在 Crystal Reports 设计器中创建新的参数字段 {?Start Date} 和 {?End Date}。
  2. 从查询中删除日期选择条件。
  3. 在查询中按提交日期和完成日期分组,或从主文件中选择 *。
  4. 使用 Crystal Reports 设计器中的选择专家根据参数 {?Start Date} 和 {?End Date} 设置与上述类似的记录选择条件。
  5. 向报告页脚添加一个汇总字段(如果您在第 3 步中分组,则为日志总和;如果您选择 * from master,则为记录计数)。

【讨论】:

  • @depictureboy,在阅读了您的回复后,我打算提出这个建议,但马克打败了我。
  • 我理解这一点,它让我比我更进一步......谢谢。但我想我并没有让自己清楚......或者什么......因为这两个日期是相同的,所以在查询中,我想在每个月的第一天分组的一整年..只是那些日子打开的日志......而不是在记录选择中,我会作为一个组选择来做吗?我希望我有一张照片给你看……你们俩都非常有帮助。如果我想让它成为一个交叉表,向我解释会更容易吗?
  • @depictureboy,我没有解决在每个月底报告一年的开放日志的需要,因为我认为最简单的方法是报告上个月在每个新月的开始,记下该月的数字并以此方式保持滚动年份的值。尝试一次性报告一整年的数据的问题是,在一个月末打开的日志可能在下个月底仍然打开,因此应该在both中报告i> 月。正如我所说,一次运行一个月是最简单的方法,但是 -
  • [续] 还有其他方法 - 您是否可以访问(或可以创建)一个虚拟表或视图,其中填充有序号或日期? (我已经 很长时间 没有使用 Access,所以我不确定这些天你能用它做什么。)
  • 我尽量避免使用 Access。如果它使逻辑更好,我只需要当天打开哪些日志的快照。老板只是想知道我们开始每个月打开多少日志......这更有意义吗?做我想做的事可能是不可能的……但我认为这是找出答案的地方:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
  • 2010-10-08
相关资源
最近更新 更多