VB + Crystal报告

时间:2012-04-24 08:56:02

标签: ms-access vba crystal-reports

我写了这段代码,但是我得到了“运行时错误'91':”

Private Sub Command1_Click()
    Set rs = New ADODB.Recordset
    openConnection

    If Me.cmbMonth = "" And Me.cmbYear = "" Then
      MsgBox "Please select MONTH and YEAR"
      Exit Sub
    End If

    With crystalrpt

        .ReportFileName = App.Path & "\Report\VariableReport.rpt" <-- ERROR IS HERE
        .SelectionFormula = "{SW.dtaMonth}='" & cmbMonth.Text & "' and {SW.dtaYear}=" & dtaYear.Text & "" & _
        " and {SFW.dtaMonth}='" & cmbMonth.Text & "' and {SFW.dtaYear}=" & dtaYear.Text & "" & _
        " and {OT.dtaMonth}='" & cmbMonth.Text & "' and {OT.dtaYear}=" & dtaYear.Text & "" & _
        " and {CL.dtaMonth}='" & cmbMonth.Text & "' and {CL.dtaYear}=" & dtaYear.Text & "" & _
        " and {RM.dtaMonth}='" & cmbMonth.Text & "' and {RM.dtaYear}=" & dtaYear.Text & "" & _
        " and {EL.dtaMonth}='" & cmbMonth.Text & "' and {EL.dtaYear}=" & dtaYear.Text & "" & _
        " and {TRANS.dtaMonth}='" & cmbMonth.Text & "' and {TRANS.dtaYear}=" & dtaYear.Text & "" & _
        " and {WD.dtaMonth}='" & cmbMonth.Text & "' and {WD.dtaYear}=" & dtaYear.Text & "" & _
        " and {MP.dtaMonth}='" & cmbMonth.Text & "' and {MP.dtaYear}=" & dtaYear.Text & "" & _
        " and {NONSTOCK.dtaMonth}='" & cmbMonth.Text & "' and {NONSTOCK.dtaYear}=" & dtaYear.Text & "" & _
        " and {PACK.dtaMonth}='" & cmbMonth.Text & "' and {PACK.dtaYear}=" & dtaYear.Text & ""
        .WindowTitle = "Report"
        .Action = 1 'Will Show The Report

    End With

End Sub

1 个答案:

答案 0 :(得分:0)

您可能正在尝试从您测试它的计算机上的类中创建类(对象)的实例,但不是在已部署到的计算机上...例如,我碰巧知道我可以让一个VB程序使用Nero Burning Rom的类....我可以制作一个nero对象,并使用它的方法和属性......但这只适用于那些机器上已安装Nero库。如果没有安装,当你尝试创建对象时(通过使用new或createobject的早期或后期绑定),应该引用该对象的变量仍然设置为Nothing,因为库无法创建所请求的实例类.....