关于水晶报表重新设置数据库位置

uffspace 2009-07-24 12:55:04
用VB在调用水晶报表, 做水晶报表的时候, 指定了数据库的位置(水晶报表直接使用的DAO连接ACCESS数据库), 然后,程序安装到别的位置后,数据库的位

置肯定就不能用静态地址来表达了,水晶报表重设数据库位置的贴子太多了,看不出问题来啊,大家都在说用Recordset来作为水晶报表的数据源.

本来想上传图像,不过传不上来...郁闷....就用描述吧!
我用的是CrystalReport XI, 在菜单"数据库"下有一个"设置数据库位置",里面有
数据库类型: Access/Excel (DAO)
数据库名称: F:\Program Building\...\MRDB.MDB
数据库类型: Access
会话用户ID: NULL
系统数据库路径: NULL

我就想在VB里用VB语句把"数据库名称"更改为其它路径,请问...这个怎么弄啊...

在网上看了很久,看到一段代码,我大概按照猜想改了一下,是这样

Dim CrTable As CRAXDRT.DatabaseTable
Dim CrReport As New CRAXDRT.Report

For Each CrTable In CrReport.Database.Tables
With LODBTable.ConnectionProperties
.Delete "Server"
.Add "Server", App.Path & "\MRDB.mdb"
End With
Next

老报错,搞不定了,所以来请教高手!上述的这些水晶报表的属性,在VB里面都怎么调用和重设置。。。

谢谢了!


...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
uffspace 2009-08-02
  • 打赏
  • 举报
回复
我知道了,对于使用DAO连接ACCESS数据库的水晶报表,这样改变数据库位置:
CrystalReport.Database.Tables(1).ConnectionProperties("Database Name").Value="DB Path"

我想到的办法是使用下面的VB语句查看水晶报表的连接属性:
for i=0 to CrystalReport.Database.Tables(1).ConnectionProperties.Count-1
MsgBox "CrystaoReport.Database.Tables(1).ConnectionProperties.NameIds(i)
Next i

这样就能看到水晶报表所有的连接属性,然后用最上面的语句去改变连接属性的Value值.
孤独剑_LPZ 2009-07-25
  • 打赏
  • 举报
回复
报错信息是什么?
uffspace 2009-07-25
  • 打赏
  • 举报
回复
报错信息是:
实时错误:'-2147189152(80047e60)
无法找到QE属性

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧