请问如何设置才能使我的dataReport 打印出一条单个的记录而不是全部记录??
设计报表的时候是通过数据环境拖入字段的,我想用sql语句控制,可是找不到方法

解决方案 »

  1.   

    先打开记录集
                    Rs.Requery
                    With 报表窗体名
                        .ReportWidth = 14830
                        .Sections(3).Controls("CarID").DataField = "CarID"
                        .Sections(3).Controls("CarName").DataField = "CarName"
                        .Sections(4).Controls("lblEmpName").Caption = OperName
                        Set .DataSource = Rs
                        .Show
                    End With
      

  2.   

    1.添加一DataReport1,相应结构中摆上RptTextBox控件,并设置相应的DataField属性,注意一定要将DataMember设置为空!    2.双击报表,在代码窗体中输入以下代码:     Private Sub DataReport_Initialize() 
    Dim str As String 
    Dim cnnReport As New ADODB.Connection 
    Dim rstReport As New ADODB.Recordset  '连接数据库,假设为Access
    Set cnnReport = New ADODB.Connection 
    With cnnReport 
         .Provider = "MSDataShape.1" '一定要加这句 
         .Open "Data Source=C:\dbName.mdb;"& _
                          "Data Provider=Microsoft.Jet.OLEDB.4.0" 
    End With 

    str = "SELECT * FROM `TableName` "& _
                "Where  where ID='" & Form1.txtID & "'"
    Set rstAgmRpt = New ADODB.Recordset 
    With rstAgmRpt 
        Set .ActiveConnection = cnnReport 
        .CursorLocation = adUseClient 
        .CursorType = adOpenStatic 
        .LockType = adLockReadOnly 
        .Source = str
        .Open 
    End With 
    Set Me.DataSource = rstAgmRpt 
        End Sub 
          
        3.在窗体Form1上放一个TextBox,用来输入ID,一个按钮,代码:
            
        Private Sub Command1_Click() 
    DataReport1.Show
        End Sub      请注意:其中将表名括起来的不是单引号而是键盘中Tab键上面的有~号的键。用的是该键的`号。
      

  3.   

    楼上的我不大明白
    如果连接的是sqlsvr,连接字符串怎么写
      

  4.   

    http://www.connectionstrings.com/字符串
      

  5.   

    huangjianyou(小健)
    我用了你的方法,可是提示:参数类型不匹配或是与其他参数冲突
      

  6.   

    连接字符串
    "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=yanyan;Data Source=localhost"