【问题标题】:report with subreport ms access 2007带有子报表的报表 ms access 2007
【发布时间】:2013-01-04 21:04:08
【问题描述】:

我的数据库中有三个表。 客户,其中包含每个客户的详细信息,例如姓名,电话号码... 产品,包含每个产品的详细信息。

每次客户请求产品时,都会在第三个表 Orders 中插入一个新行。 表 Orders 包含客户 ID(外键)、产品 ID(外键)和所需数量。

我要做的是根据订单表创建一个报告,向我显示每个客户的所有订单。

我正在开发 ms access 2007。

请帮帮我!!!

【问题讨论】:

  • 您是否尝试过使用报告向导?
  • 是的,我做了,但这给了我一个主报告和一个子报告。但在主报告中列出所有客户,即使他们在订单表中没有订单:-(

标签: sql ms-access


【解决方案1】:

根据连接到客户表的订单表创建查询。使用查询设计窗口构建查询。然后,您可以将您的报告基于查询,使用分组来获取组顶部的客户详细信息,并将 prder 详细信息作为组内的行。使用报告向导。

【讨论】:

    【解决方案2】:

    好的,我有解决办法。

    我用这个记录源创建了一个表单:

    SELECT
      DISTINCT Costumers.Code, Costumers.Name, Costumers.phone
    FROM
      Costumers INNER JOIN Orders
      ON Costumers.ID=Orders.IdCostumer; 
    

    然后我用这个记录源创建了一个子报表:

     SELECT
       [Costumers].[Code],
       [Orders].[Code],
       [Products].[Description],
       [Orders].[Quantity]
     FROM
       Products INNER JOIN
       (Costumers INNER JOIN Orders ON Costumers.ID=Orders.IdCostumer)
       ON Products.ID=Orders.IdOrder; 
    

    这就是我想要的方式。

    感谢您的关注!!! :-)

    【讨论】:

    • 好吧,我忘了说在子报表中设置链接主字段和链接子字段时需要进行一些调整。基本上,链接主字段是一对多关系“一”侧的外键,链接子字段是关系“多”侧的外键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多