我想做一个报表,即它每一次显示出来的结果如下所示
记录号     姓名
1           aa
2           bb
3           cc
如何生成那个记录号呀。并且我每次查询出来的内容是不一样的,记录条数也不是一样多的。

解决方案 »

  1.   

    加一个计算列:  
     
    select  *,id=identity(int,1,1)  into  #t  from  tablename  
     
    select  *  from  #t  
     
    drop  table  #t
      

  2.   

    各位大哥们帮帮我呀,我学VB没多久,有很多不明白的地方。我试了你们所说的几种方法怎么还是弄不出来呀。可能是我有些地方还不太明白吧。
    以前我的打印按钮里面代码如下
    DataE1.rsCommand1.Open "select * from aa where employ_id like " & "'" & Text1 & "'" & " order by D_date"
     If DataE1.rsCommand1.RecordCount > 0 Then
      DataReport1.Show
    Else
       DataE1.rsCommand1.Close
     End If
    如果按我这种方法应该怎么做呢?
      

  3.   

    你新建一个工程,如下试试
    运行VB,选择“工程_引用”命令,引用 Microsoft ActiveX Data Objects 2.5 Library
    添加一个 DataReport,在细节部分添加二个RptTextBox控件,不要绑定:双击DataReport,添加代码:
    Private Sub DataReport_Initialize()    Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Dim rst As ADODB.Recordset
        Dim Sql As String
        Dim i
        
    '连接数据库(Access)
        Set cn = New ADODB.Connection
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;" & _
                "Data Source=" & App.Path & "\db1.mdb;" & _
                "Persist Security Info=False"'打开查询记录集
        sql= "select * from aa "& _
            "where employ_id like '" & Text1 & "' order by D_date"
        Set rst=New ADODB.Recordset
        rst.CursorLocation = adUseClient
        rst.Open Sql, cn, adOpenKeyset, adLockOptimistic'创建一个二个字段的记录集,用于添加编号(具体情况视情况定)  
        Set rs=New ADODB.Recordset
        With rs      '字段名称
            .Fields.Append "ID", adInteger
            .Fields.Append "Name", adBSTR, 255
            .CursorType = adOpenStatic
            .LockType = adLockOptimistic
            .Open
        End With
        
    '向记录集中添加数据:
        i=1
        While Not rst.Eof
            rs.AddNew
            rs!ID = i
            rs!Name = rst!姓名
            rs.Update
            i = i + 1
            rst.MoveNext
        wend
        set rst=Nothing
        set cn=Nothing'绑定相关控件
        rs.MoveFirst ' 移到该记录集的开始。
        
        rpt.Sections("Section1").Controls("text1").DataField = "ID"
        rpt.Sections("Section1").Controls("text2").DataField = "Name"
        Set rpt.DataSource = rsEnd if
      

  4.   

    这一行 rs!Name = rst!姓名
    有如下错误 :实时错误-214721887
    还是不行呀。怎么这个问题还是没有解决呢?真的很急呀。
      

  5.   

    其实你可以把记录号设为long 型,自动增加字段