Dim ppprs As adodb.Recordset
Set ppprs = New adodb.Recordset
ppprs.Open ssql, ConnectID, adOpenStatic, adLockReadOnly
Set DataReport.DataSource = ppprs
DataReport.Show 1你可以在SQL语句中用条件判断!

解决方案 »

  1.   

    传送参数可以在过程或者函数的括号里直接定义一个变量,就是参数,最简单就是定义一个公共变量,就成了,不用参数,直接用form1.text1.text,就是你的“级别”。
    data report里你要写啥sql 语句?难道不是一样么??sigh
      

  2.   

    先把DataReport的数据源设置好。
    DataEnvironment.rsCommand.Filter="级别='" & text1.text & "'"
    DateReport.show
      

  3.   

    Option Explicit
    '这是一个简单有效的方法推荐'Staff Business Records
    Public adoConnectionX As New ADODB.Connection
    Public adoRecordsetX As New ADODB.RecordsetPublic Sub drSBR_Initialize()    Dim a As String    Dim strSQL As String'you sql
        Dim StrConnection As StringOn Error Resume Next    Me.Sections.Item("Section2").Controls.Item("label80").Caption = Form14.lblSDate.Caption & "乣" & Form14.lblEDate.Caption
        Me.Sections.Item("Section2").Controls.Item("label81").Caption = Form14.lblSYearWeek.Caption & "乣" & Form14.lblEYearWeek.Caption & "    "    StrConnection = "Provider=MSDAORA.1;password= " & WiseGetProfileString("system", "password", "ys.ini") & _
                                          "; user id= " & WiseGetProfileString("system", "username", "ys.ini") & _
                                          "; data source = " & S_Common.DBName & _
                                          "; Persist Security Info=True"    adoConnectionX.Open StrConnection
        strSQL = "select * from ( " & strSQL14 & ") order by tan_id "
        adoRecordsetX.Open strSQL, adoConnectionX, adOpenKeyset
        adoRecordsetX.CursorLocation = adUseClient
        Set drSBR.DataSource = adoRecordsetX
        If adoRecordsetX.EOF = False Then
            Me.Sections.Item("Section1").Controls.Item("text1").DataField = adoRecordsetX.Fields.Item(1).Name
            Me.Sections.Item("Section1").Controls.Item("text2").DataField = adoRecordsetX.Fields.Item(2).Name
            Me.Sections.Item("Section1").Controls.Item("text3").DataField = adoRecordsetX.Fields.Item(3).Name
            Me.Sections.Item("Section1").Controls.Item("text4").DataField = adoRecordsetX.Fields.Item(4).Name
            Me.Sections.Item("Section1").Controls.Item("text5").DataField = adoRecordsetX.Fields.Item(5).Name
            Me.Sections.Item("Section1").Controls.Item("text6").DataField = adoRecordsetX.Fields.Item(6).Name
            Me.Sections.Item("Section1").Controls.Item("text7").DataField = adoRecordsetX.Fields.Item(7).Name
            ... ... 
    ("text43").DataField = adoRecordsetX.Fields.Item(43).Name
            adoRecordsetX.MoveFirst
            
            drSBR.TopMargin = 1000
            drSBR.LeftMargin = 0
            drSBR.BottomMargin = 1000
            
            Me.Sections.Item("Section2").Controls.Item("lblDateStart").Caption = Form14.lblSDate.Caption
            Me.Sections.Item("Section2").Controls.Item("lblDateEnd").Caption = Form14.lblEDate.Caption
            Me.Sections.Item("Section2").Controls.Item("lblWeekStart").Caption = Form00.txtSYear.Text & "擭 戞" & Form00.txtSWeek.Text & "廡"
            Me.Sections.Item("Section2").Controls.Item("lblWeekEnd").Caption = Form00.txtSYear.Text & "擭 戞" & Form00.txtEWeek.Text & "廡"
            
            drSBR.Show vbModal
    '            drSBR.PrintReport False, rptRangeAllPages
        Else
            MsgBox "悢抣懚嵼偟傑偣傫丅"
        End If
    End SubPrivate Sub DataReport_Terminate()    adoRecordsetX.Close
        Set adoRecordsetX = NothingEnd SubPublic Function strSQL14() As String    Dim strSqlText As String
        strSqlText = strSqlText & "你的sql"
    strSQL14 = strSqlText
    End Function
      

  4.   

    If DataEnvironment.rsCommandQuoteTemplate_·分组.State = adStateOpen Then
         DataEnvironment.rsCommandQuoteTemplate_·分组.Close
    End If
         DataEnvironment.rsCommandQuoteTemplate_·分组.Filter = "template_name='" & cobRate.Text & "'"
         drpQuoteTemplate.Show 1DATA REPORT里面选择表,还有记得分组