水晶报表的.rpt文件内嵌的数据库路径能用控件动态修改吗?

bird_cai 2003-10-15 08:31:43
我用记事本打开一个.rpt文件,看到里面有很多xxx.mdb的字符,就是我当初做报表模板时指定的数据库.可是我现在需要动态修改数据库的路径,怎样才能修改这些内嵌的字符呢?
...全文
57 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bird_cai 2003-11-01
  • 打赏
  • 举报
回复
谢谢两位的帮助,我用小米加步枪的方法解决了问题,结贴.
gzfzxf 2003-10-21
  • 打赏
  • 举报
回复
看看
With objReport
.Destination = crptToWindow
.WindowState = crptNormal
If Left(App.Path, 1) = "\" Then
.ReportFileName = App.Path & strReportName
Else
.ReportFileName = App.Path & "\" & strReportName
End If
.SelectionFormula = strSelectionFormula
'

objReport.LogonInfo(0) = "dsn=cmmrpii;uid=sa;pwd=gxf123456"
objReport.LogonInfo(0) = "provide=msdasql;driver={sql server};server=CMWIN2KGZF\CMMRPII;database=cmmrpii;uid=sa;pwd=gxf123456"
.WindowTitle = strTittle
.DiscardSavedData = True
.Action = 1
End With
bird_cai 2003-10-17
  • 打赏
  • 举报
回复
不知什么原因,我把上面的代码写到我的程序里以后,无论怎样修改,对程序没有任何作用.说明一下:1.我的程序用的access数据库;2.使用数据控件连结数据库;3.没有数据库用户,不能设置"Uid";4.我只有vb自带的crystalreport4.6,没有更高的版本;5.我的程序在安装之后,必须在报表设计器里"verify database"每一个.rpt文件,才能在程序里打开报表.
这个问题已经烦恼我好几天了,真希望早些解决.
haipingma 2003-10-16
  • 打赏
  • 举报
回复
rpt1.Connect = "dsn=" & servername & ";dsq=" & dataBasename & ";uid=" & Uid & ";pwd=" & Pwd & ";"
rpt1.LogOnServer "pdbdao.dll", servername, dataBaseName, Uid, Pwd
servername '机器名 databasename 數据庫名 Uid 數据庫用戶名 Pwd 密碼
bird_cai 2003-10-15
  • 打赏
  • 举报
回复
我试过了不行,rpt1.Connect = "dsn=" & servername & ";dsq=" & dataBase & ";uid=" & Uid & ";pwd=" & Pwd & ";"这句代码对程序不起作用.
我要想让报表显示A机器数据库的数据,就要使用"Verify database"把报表的路径修改到A机器上;如果要想让报表显示B机器数据库的数据,还要再使用"Verify database"把报表的路径修改到B机器上.A和B机器的数据库完全是一样的,但是不修改就不行.可以发现随之.rpt文件里的内嵌字符(关于路径的)就改变了.
高手们救救命吧!!!!!!!!!!!!!!!
bird_cai 2003-10-15
  • 打赏
  • 举报
回复
haipingma(.Net && Java 中徘徊):dsn,dsq,uid,pwd这四项参数是必须设置,缺一不可的吗?"servername"是计算机的网络名称(标识)吗?"uid"是什么?请说的详细些.谢谢!
haipingma 2003-10-15
  • 打赏
  • 举报
回复
rpt1.Connect = "dsn=" & servername & ";dsq=" & dataBase & ";uid=" & Uid & ";pwd=" & Pwd & ";"

809

社区成员

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

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