我一开始做的报表是在一个临时目录下用一个临时数据库做的,比如是在k:\a\gzb.mdb,
我在程序做好后在正式的目录下编译,比如c:\gzgl.
程序运行时却总提示"k:\a\gzb.mdb不是一个有效的路径."
但点击确定后又能正确的连上正确的数据库,比如c;\gzgl\gzb.mdb.
这是怎么回事呀?我要怎么解决这个问题呢?

解决方案 »

  1.   

    因为你在水晶报表连接里面写的是固定目录你用ado去设置了连接,水晶报表会自动记忆的一般这样的办法并不好,可以试着用自定义的办法解决
      

  2.   

    1.在Crystal Report中编辑你的报表,选择菜单File,如果“Save data with report"选择了的话,再次点选它,使它变为非选择,保存报表文件。2.在代码中加入这一句:
      CrystalReport1.DataFiles(0) = "c:\gzgl\gzb.mdb"
      

  3.   

    我用的是自定义连接呀Dim connstr As String
    Dim i As Long
        If conn.State = adStateOpen Then conn.Close
        If strint = "" Then
          connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\gzb.mdb;Persist Security Info=False"
        Else
          connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strint & ";Persist Security Info=False"
        End If
        conn.ConnectionString = connstr
        
        conn.Open
        
        conn.CursorLocation = adUseClient    If rs.State = adStateOpen Then rs.Close
          rs.Open "gzb", conn, adOpenKeyset, adLockReadOnly在水晶报表里我没选"将数据与报表一同保存"呀