VB6.0下用水晶报表做的RPT,各字段连接的BOOK.MDB,程序分发时要根据具体环境动态改变所连接的数据库,如何做呀,这个问题已困扰几天了,急呀.... 

解决方案 »

  1.   

    思路:将数据库的名字,不带路径,保存为文本文件,打开程序时先读取文件,得到数据库名
    这个过程放在 sub main() 里
    Sub Main()
        dim sDb as string
        sDb= "BOOK.MDB" '这里从文本取得
        linkcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\" & sDb & ";Persist Security Info=False;"
        frmMain.Show
        RPT.Connection1.ConnectionString = linkcn '不记得怎么写了
        RPT.Connection1.Open linkcn
    End Sub
      

  2.   

    under the normal condition,no need to set the SetLogOnInfo.
      

  3.   

    rptform!Report1.Connect = "dsn=yyy;UID=" & loginuid & ";PWD=" & userpwd & ";"
    rptform!Report1.Formulas(1) = "单位='" & dwmc & "'"
    rptform!Report1.Destination = 1
    rptform!Report1.Action = 1