急急,水晶报表在刚开始设计时用的是数据库选择专家,而部署时由于服务器不同,字段显示会不会有问题?
field字段是从数据库中拖出来的,显示的是以前数据库的字段,只更改setdatasource行不行?若不行,有没有好的办法? 问题点数:100、回复次数:7Top
1 楼taofirst(渐行渐远)回复于 2003-12-03 08:57:49 得分 0
help?Top
2 楼yaopaopao(泡泡)回复于 2003-12-03 09:05:09 得分 10
只要数据库结构相同就行了,服务器换了改一下地址和服务等就可以了吧,编程的话更改一下传入的参数Top
3 楼lionqun(兔子)回复于 2003-12-03 09:32:03 得分 45
#Region "设置报表数据库设置"
Public Sub SetReportInfo(ByRef MyReport As CrystalDecisions.CrystalReports.Engine.ReportDocument)
Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table
Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo
For Each tbCurrent In MyReport.Database.Tables
tliCurrent = tbCurrent.LogOnInfo
With tliCurrent.ConnectionInfo
.ServerName = pub.ServerName
.UserID = pub.LoginName
.Password = pub.LoginPass
.DatabaseName = pub.databaseName
End With
tbCurrent.ApplyLogOnInfo(tliCurrent)
Next tbCurrent
End Sub
#End RegionTop
4 楼taofirst(渐行渐远)回复于 2003-12-03 09:49:25 得分 0
我的数据字段是两个表通过ID关联起来的,可是水晶报表里如果有两个表的字段就什么也显示不出来,单独的一个就可以,解决了问题我立即揭帖。海波大哥啊,在哪?Top
5 楼taofirst(渐行渐远)回复于 2003-12-03 09:50:44 得分 0
to: lionqun(学海无涯)
可是有的不改也可以用的,why?Top
6 楼haibodotnet(海波.NET)回复于 2003-12-03 14:55:17 得分 45
解决方案:
在“数据库专家”中,当已为报表选定多个表时,还可指定这些数据库表之间的链接。
1、“链接”选项卡
将数据库表链接以使来自一个数据库的记录与来自另一个数据库的记录相匹配。例如,如果激活“供应商”表和“产品”表,则将数据库链接起来以使每个产品(来自“产品”表)可以与生产该产品的供应商(来自“供应商”表)相匹配。
多数报表可能需要来自两个或多个表的数据,因此链接将十分必要。使用“数据库专家”的“链接”选项卡可以简化链接过程。请参阅链接表。
2、链接表
通过链接表,使一个表中的记录与另一个表中的相关记录匹配。例如,如果激活“订单”表和“客户”表并将这两个表链接,使(“订单”表中的)每个订单可与(“客户”表中的)下订单的客户进行匹配。
链接时要使用两个表共有的字段。Crystal Reports 使用链接来匹配一个表中的记录与另一个表中的记录。在本例中,链接确保报表每一行中的数据引用同一个订单。
3、链接自和链接到
当链接两个表时,从一个表链接到另一个表。“从”表用作主表,而“到”表作为查阅表,主表查找查阅表中的记录。在简单链接中,Report Designer 检查主表中的第一个记录并在查阅表中查找所有匹配的记录。在查阅表中找到了与主表的第一个记录匹配的所有记录后,便在查阅表中查找与主表的下一个记录匹配的所有记录。Top
7 楼taofirst(渐行渐远)回复于 2003-12-03 20:53:19 得分 0
其实是数据不完整的问题,谢谢各位。
只是还是不明白是不是必须用“#Region "设置报表数据库设置"”这段代码。
明天过来结帖
Top




