各位高手,请问我想用vb自带的报表做个不需要联数据库的报表,但总报无效数据源的错。就连空报表也这样。我只想向报表里传一些变量,请问如何解决这个问题啊!
谢谢!

解决方案 »

  1.   

    Private Sub DataReport_Initialize()
        Dim iVal, mVal
        Dim rs As Recordset
        
        iVal = "ABC"
        mVal = #12/2/2005#
        Set rs = New Recordset
        With rs     '添加字段名称
            .Fields.Append "id", adBSTR, 4
            .Fields.Append "name", adDate, 4
            .CursorType = adOpenStatic
            .LockType = adLockOptimistic
            .Open
            .AddNew
            .Fields(0) = iVal
            .Fields(1) = Format(mVal, "YYYY-MM-DD")
            .Update
        End With
        Set DataReport1.DataSource = rs
        DataReport1.Sections("Section1").Controls("text1").DataField = rs.Fields(0).Name
        DataReport1.Sections("Section1").Controls("text2").DataField = rs.Fields(1).Name
        
    End Sub
      

  2.   

    你给的代码单步可以走过,我在我的程序中家了个按钮添加代码:DataReport1.show 结果报同样的错误啊
      

  3.   

    新建一个工程,选择“工程\引用”命令,引用“Microsoft AetiveX Date Objects 2.x Library”。加一个DataReport,在其细节上放两个RptTextBox,不要绑定,双击之加入以上代码
    然后按你的方法显示报表就可以了
      

  4.   

    双击RptTextBox?我添加了引用啊!
      

  5.   

    双击DataReport
    什么加了引号
      

  6.   

    我的代码在我这儿通过后才帖上来的,XPsp2+VB6sp6
    你还是新建一个工程试试
      

  7.   

    或者你把代码放在Form的Command1_Click()中,最后加上一句DataReport1.Show
    看看那一行有问题
      

  8.   

    呵呵,单独可以,就说明方法正确。原来的不行,可能是你在数据源相关属性中修改了什么
    你删除了原来的DataReport,重新添加一个,按上面的道理,修改你的程序,应该没问题。