用DataReport 创建分组报表出问题

时间:2021-03-16 15:11:54
用DataReport 创建分组报表,总共牵涉到3个表,一个是做分组标头,另外两个做细节。

用SQL生成器把两个表(access2000,即做细节的两个表)联系起来,

为子命令选择几个字段作为数据源.

出了上叙情况,我想肯定出在“关联属性页”!

“关联”属性不会设置,就是定义与父命令对象的关联有问题

我没有编写代码,除了生成SQL器。 

生成SQL: Select * 
From t_Order Inner Join t_Product On t_Order. 
ProductID=t_Preoduct.ProductID 
想用t_Customer做表头,选用t_Order和t_Product中几个字段 

做细节,在设置“关联属性页”时可能出错了,就是有“父字段” 

“子字段”,我不知道怎么选,才能关联!!


Help   !  Thank you !





9 个解决方案

#1


看不懂,详细点啥。不然怎么帮助你!

#2


总共牵涉到3个表,这三个表都是用Access2000作的

表1 t_Customer
CustomerID    CompanyTitle   LinkMan    Phone
C00001        阳光公司         张山     010-12345678
C00002        天时公司         里司     021-12345678

表2 t_Order
CustomerID    OrderDate  ProductID       OrderAmount     DeliveryDat
C00001        98-5-5      P00001           400             98-10-10
C00002        98-5-8      P00001           500             98-10-1
C00003        98-8-6      P00002           400             98-10-30
C00002        98-8-30     P00001           450             98-9-1

表3 t_Product
ProductID    Product       Category       PerPrice
P00001       主板          硬件            ¥800.00
P00002       硬盘           硬件            ¥1,200.00
P00003       光区区动      软件              ¥80.00

想用DataReport,结合DataEnvironment,创建分组报表

效果:一个是做分组标头(_Customer中的“CompanyTitle”),另外两个做细节(即t_Order和
t_Product)。

我现在问题是,不会设置“关联属性页”

谢谢帮忙!


#3


左侧有当前记录集的全部字段,将分组标题字段移动右边,呵呵

#4


在“关联属性页”,有父字段,子字段,列表框,不知道怎么对应?

#5


谢谢大家帮忙

#6


你用了DataEnviroment了吧。
你在DataEnviroment的Connection下建立一个Command,假设为cmd1,然后将其Source设为t_Customer表,建立cmd2,其Source改为t_Order,建立cmd3,其Source改为t_Product
,然后将选择cmd3的Relation,其Parent设为cmd2,连接字用ProductId,同样cmd2的Relation的Parent设为cmd1,连接字有CustomerId,然后,打开报表设计器DataReport1,将其DataSource设为DataEnviroment1,DataMember改为cmd1,然后检索一下结构,然后将各个cmd的字段添加进去就可以了。

#7


感谢xunxm(xunxm) 的指点

不过,还有一点,想让Customer做“分组表头”,“Order”和“Product”

处在同一“细节”。怎么办呢?

#8


你的意思是不是做成这个样?
C00001        阳光公司         张山     010-12345678
  OrderDate  Product   Category   PerPrice       OrderAmount    DeliveryDat
     98-5-5  主板         硬件       ¥800.00      400             98-10-10
如果是这样,你就不需要建立cmd3了,你建立cmd2的时候改用一个SQL语句"SELECT * FROM t_Order INNER JOIN t_Order.ProductID = t_Product.ProductID,然后用cmd2Relation到cmd1。就可以了,然后重新检索一下结构就OK了。

#9


真的很感谢!

现在可以了!:)

#1


看不懂,详细点啥。不然怎么帮助你!

#2


总共牵涉到3个表,这三个表都是用Access2000作的

表1 t_Customer
CustomerID    CompanyTitle   LinkMan    Phone
C00001        阳光公司         张山     010-12345678
C00002        天时公司         里司     021-12345678

表2 t_Order
CustomerID    OrderDate  ProductID       OrderAmount     DeliveryDat
C00001        98-5-5      P00001           400             98-10-10
C00002        98-5-8      P00001           500             98-10-1
C00003        98-8-6      P00002           400             98-10-30
C00002        98-8-30     P00001           450             98-9-1

表3 t_Product
ProductID    Product       Category       PerPrice
P00001       主板          硬件            ¥800.00
P00002       硬盘           硬件            ¥1,200.00
P00003       光区区动      软件              ¥80.00

想用DataReport,结合DataEnvironment,创建分组报表

效果:一个是做分组标头(_Customer中的“CompanyTitle”),另外两个做细节(即t_Order和
t_Product)。

我现在问题是,不会设置“关联属性页”

谢谢帮忙!


#3


左侧有当前记录集的全部字段,将分组标题字段移动右边,呵呵

#4


在“关联属性页”,有父字段,子字段,列表框,不知道怎么对应?

#5


谢谢大家帮忙

#6


你用了DataEnviroment了吧。
你在DataEnviroment的Connection下建立一个Command,假设为cmd1,然后将其Source设为t_Customer表,建立cmd2,其Source改为t_Order,建立cmd3,其Source改为t_Product
,然后将选择cmd3的Relation,其Parent设为cmd2,连接字用ProductId,同样cmd2的Relation的Parent设为cmd1,连接字有CustomerId,然后,打开报表设计器DataReport1,将其DataSource设为DataEnviroment1,DataMember改为cmd1,然后检索一下结构,然后将各个cmd的字段添加进去就可以了。

#7


感谢xunxm(xunxm) 的指点

不过,还有一点,想让Customer做“分组表头”,“Order”和“Product”

处在同一“细节”。怎么办呢?

#8


你的意思是不是做成这个样?
C00001        阳光公司         张山     010-12345678
  OrderDate  Product   Category   PerPrice       OrderAmount    DeliveryDat
     98-5-5  主板         硬件       ¥800.00      400             98-10-10
如果是这样,你就不需要建立cmd3了,你建立cmd2的时候改用一个SQL语句"SELECT * FROM t_Order INNER JOIN t_Order.ProductID = t_Product.ProductID,然后用cmd2Relation到cmd1。就可以了,然后重新检索一下结构就OK了。

#9


真的很感谢!

现在可以了!:)