我用记事本打开一个.rpt文件,看到里面有很多xxx.mdb的字符,就是我当初做报表模板时指定的数据库.可是我现在需要动态修改数据库的路径,怎样才能修改这些内嵌的字符呢?

解决方案 »

  1.   

    rpt1.Connect = "dsn=" & servername & ";dsq=" & dataBase & ";uid=" & Uid & ";pwd=" & Pwd & ";"
      

  2.   

    haipingma(.Net && Java 中徘徊):dsn,dsq,uid,pwd这四项参数是必须设置,缺一不可的吗?"servername"是计算机的网络名称(标识)吗?"uid"是什么?请说的详细些.谢谢!
      

  3.   

    我试过了不行,rpt1.Connect = "dsn=" & servername & ";dsq=" & dataBase & ";uid=" & Uid & ";pwd=" & Pwd & ";"这句代码对程序不起作用.
    我要想让报表显示A机器数据库的数据,就要使用"Verify database"把报表的路径修改到A机器上;如果要想让报表显示B机器数据库的数据,还要再使用"Verify database"把报表的路径修改到B机器上.A和B机器的数据库完全是一样的,但是不修改就不行.可以发现随之.rpt文件里的内嵌字符(关于路径的)就改变了.
    高手们救救命吧!!!!!!!!!!!!!!!
      

  4.   

    rpt1.Connect = "dsn=" & servername & ";dsq=" & dataBasename & ";uid=" & Uid & ";pwd=" & Pwd & ";"
    rpt1.LogOnServer "pdbdao.dll", servername, dataBaseName, Uid, Pwd
    servername '机器名  databasename 數据庫名  Uid   數据庫用戶名  Pwd 密碼
      

  5.   

    不知什么原因,我把上面的代码写到我的程序里以后,无论怎样修改,对程序没有任何作用.说明一下:1.我的程序用的access数据库;2.使用数据控件连结数据库;3.没有数据库用户,不能设置"Uid";4.我只有vb自带的crystalreport4.6,没有更高的版本;5.我的程序在安装之后,必须在报表设计器里"verify database"每一个.rpt文件,才能在程序里打开报表.
    这个问题已经烦恼我好几天了,真希望早些解决.
      

  6.   

    看看
    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