report 报表控件实现报表打印时,连接SQL SERVER 数据库是如何动态的改变数据库的名称和服务器的名称以及服务器的用户名。即可以改变数据库名。

解决方案 »

  1.   

    CrystalReport.Connect = "dsn=" & gsServer & ";UID=" & gsUser & ";PWD=" & gsPassword & ";Dsq=" & gsDatabase
      

  2.   

    VB自帶的Report是必綁定一個Recordset的,因此,你自須改變此Recordset的連接字符串就,然後執行Recordset.Refresh就可以了。
      

  3.   

    不要用Environment,直接添加DataReport。在细节中用RptTextBox控件按自己的打印要求布局。将其DataField属性对应相应的字段,注意不要设置DataMember,双击DataReport,添加代码如下(运行VB,选择“工程\引用”命令,引用“Microsoft AetiveX Date 2.x Library”):
    Private Sub DataReport_Initialize()
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Dim Sql As String
        '连接数据库(Access)
        Set cn = New ADODB.Connection
        Sql = "Provider = SQLOLEDB.1;Persist Security Info = False;" & _
            "User ID = sa;Password = abc;Data Source = 192.168.0.1;" & _
            "Initial Catalog = dbName"
        cn.Open Sql
        '组合查询语句:
        Sql = "SELECT * FROM TableName " & _
            "where ID ='" & Form1.Text1.text & "'"
        '打开查询记录集
      Set rs = New ADODB.Recordset
        rs.Open Sql, cn, adOpenStatic, adLockReadOnly
        Set Me.DataSource = rs
    End Sub这样要动态改变数据库信息,可以用变量来改变数据库的连接语句中相应信息就可以了。