试试去掉rst.movefirstWith drtEUnitpp '(DataReport报表)
    Set .DataSource = rst
    .Show vbModal
End With
这样就可以把rst集中的数据输出到报表中?报表里面还要做什么吗?

解决方案 »

  1.   

    是一下用
    rst1.Open str,Conn, adOpenStatic, adLockReadOnly
      

  2.   

    str = "Select identity(int,0,1) as 序号,* into #tmp From StaffInfo" 
    str = str & "; Select *  From #tmp" 
    '这里,两条select语句间要加分号才对吧。不知道你的语句怎么能运行通过。With drtEUnitpp '(DataReport报表)
        Set .DataSource = rst
        .refresh         '刷新一遍试试。解决第一条不显示的问题。
        .Show vbModal
    End With
      

  3.   

    '试试用:
    rst1.Open str,Conn,1,1
      

  4.   

    '试试用:
    rst1.Open str,Conn,1,1
      

  5.   

    我试了一下各位的方法,都不行啊,
    我现在就在客户这边,急死了!
    To  victorycyz(中海,学SQL Server的菜鸟)
    不用“;”SQ语句也可以运行的。
      

  6.   

    CursorLocation to 3 - Use client-side cursorsBUG: DataReport Does Not Show First Record with Server-Side Forward-Only Cursor
    http://support.microsoft.com/default.aspx?scid=kb;en-us;300387
      

  7.   

    If rst1.State = 1 Then rst1.Close
    rst1.CursorLocation = adUseClient
    rst1.Open str,Conn
      

  8.   

    If rst1.State = 1 Then rst1.Close
    rst1.CursorLocation = adUseClient
    rst1.Open str,Conn
    if rst1.eof=false then 
    rst.MoveFirst
    With drtEUnitpp '(DataReport报表)
        Set .DataSource = rst
        .Show vbModal
    end if 
     
      

  9.   

    If rst1.State = 1 Then rst1.Close
    rst1.CursorLocation = adUseClient
    rst1.Open str,Conn,3,2
    if rst1.eof=false then 
    rst.MoveFirst
    With drtEUnitpp '(DataReport报表)
        Set .DataSource = rst
        .Show vbModal
    end if 
      

  10.   

    看: playyuer(双规干部) 
    说是本身的BUG,需要用:If rst1.State = 1 Then rst1.Close
    rst1.CursorLocation = adUseClient
    rst1.Open str,Conn