你的数据源应用时必须加APP.path获得当前工作的相对路径,否则系统会系统查找你的VB安装路径或系统默认路径的。

解决方案 »

  1.   

    Private Sub Command2_Click()     ’-----这是我的打印按钮的全部代码了。
      DataReport1.Show
    DataReport_Initialize
    Form1.Enabled = TrueEnd Sub
    Private Sub DataReport_Initialize()
         DataEnvironment1.rsCommand1.Requery
         
    End Sub打印按纽的代码就这些,datareport和DataEnvironment都是我用工程菜单中的添加 datareport 和添加data Environment做出来的,没有写代码?
    数据库是在data Environment中设置的。
    如何使用代码为Environment附值呢
      

  2.   

    在DataEnvironment中会出现一个CONNECTION1,选择此东东
    按右键选[属性],可连接你所需要的数据库。
    连好后,再选择右键,选[添加命令],可选择你要的表或存储过程。
    然后就可以在datareport中选择绑定了。
      

  3.   

    大哥,我想知道怎么为CONNECTION1,设定一个相对路径的数据库。
      

  4.   

    我的问题就出在DataEnvironment中会出现一个CONNECTION1,按右键选[属性]连接了我所需要的数据库。可是这时连接的是一个绝对路径名称的数据库呀?
    怎么才能给他改用一个相对路径的数据库呢
    有劳大哥回答
      

  5.   

    用语言:
    DataEnvironment1.Connection1.ConnectionString=...
      

  6.   

    你可以写在COMMND1_Click里
    我这里是MSDN上的关于连接的方法:
    ConnectionString、ConnectionTimeout 和 State 属性范例
    该范例说明了使用 ConnectionString 属性打开 Connection 对象的不同方法。同时还使用 ConnectionTimeout 属性设置连接超时周期,并使用 State 属性检查连接的状态。该过程运行时需要 GetState 函数。Public Sub ConnectionStringX()   Dim cnn1 As ADODB.Connection
       Dim cnn2 As ADODB.Connection
       Dim cnn3 As ADODB.Connection
       Dim cnn4 As ADODB.Connection   ' 不使用数据源名 (DSN) 打开连接。
       Set cnn1 = New ADODB.Connection
       cnn1.ConnectionString = "driver={SQL Server};" & _
          "server=bigsmile;uid=sa;pwd=pwd;database=pubs"
       cnn1.ConnectionTimeout = 30
       cnn1.Open
       
       ' 使用 DSN 和 ODBC 标记打开连接。
       Set cnn2 = New ADODB.Connection
       cnn2.ConnectionString = "DSN=Pubs;UID=sa;PWD=pwd;"
       cnn2.Open
       
       ' 使用 DSN 和 OLE DB 标记打开连接。
       Set cnn3 = New ADODB.Connection
       cnn3.ConnectionString = "Data Source=Pubs;User ID=sa;Password=pwd;"
       cnn3.Open
       
       ' 使用 DSN 和单个参数而非连接字符串打开连接。
       Set cnn4 = New ADODB.Connection
       cnn4.Open "Pubs", "sa", "pwd"
     
       ' 显示连接的状态。
       MsgBox "cnn1 state: " & GetState(cnn1.State) & vbCr & _
          "cnn2 state: " & GetState(cnn2.State) & vbCr & _
          "cnn3 state: " & GetState(cnn3.State) & vbCr & _
          "cnn4 state: " & GetState(cnn4.State)   cnn4.Close
       cnn3.Close
       cnn2.Close
       cnn1.CloseEnd SubPublic Function GetState(intState As Integer) As String   Select Case intState
          Case adStateClosed
             GetState = "adStateClosed"
          Case adStateOpen
             GetState = "adStateOpen"
       End SelectEnd Function
      

  7.   

    当然,如果你不知道如何写的话,我有个建议:
    你引用一个ADODC控件,在上面写数据库连接,完成后,会出现一段连接代码,稍做修改就可以了。