我想实现如下的功能,可以使用什么控件或者办法来实现呢?怎么实现?想把一个表里面的的记录全部显示出来,然后每条记录能有个chechbox来供选择,按上某个按钮后可以挑出被选择的记录 。就这么简单。

解决方案 »

  1.   

    用datagrid,也不要用那个checkbox,在数据库中增加一个字段来表示选中与否就行。   Dim strSQL As String
       
       dim conn as New ADODB.Connection
       dim rs as New ADODB.Recordset
       
       strSQL = App.Path & "\A.mdb"
       strSQL = Replace(strSQL, "\\", "\")
       
       With conn
           If .State = adStateOpen Then
              .Close
           End If
           .CursorLocation = adUseClient
           .ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & strSQL
           .Open
       End With
         
       With rs
           .Open "Select * from Table1;", conn, adOpenStatic, adLockOptimistic
           If .BOF And .EOF Then
              msgbox "没有任何记录"
              Exit Sub
           End If
           .MoveFirst
           .movelast
           msgbox "有" & .recordcount & "条记录!"
           N = .recordcount
       End With   with datagrid1
           .allowaddnew = True
           .allowdelete = True
           .allowupdate = True
          set .datasource = rs
       end with
      

  2.   

    挑出选中的记录:假设那一个选择字段是chk
    rs.filter = "chk=" & True
      

  3.   

    挑出选中的记录:假设那一个选择字段是chk
    rs.filter = "chk=" & True
      

  4.   

    把一个表里面的的记录全部显示出来
    没有checkbox, 用datagrid工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic    Set DataGrid1.DataSource = Rs
      

  5.   

    实现是能实现,但是就是比较麻烦,就是使用MSHFlexGrid控件和checkbox来实现,不过是动态加载,还有不知道你的目的是什莫?不明确
      

  6.   


    一个表里面的的记录全部显示出来,然后每条记录能有个chechbox来供选择,按上某个按钮后可以挑出被选择的记录用listview参考:
        Dim Item As ListItem
        ListView1.View = lvwReport
        ListView1.CheckBoxes = True
        ListView1.ColumnHeaders.Add , , "代码", ListView1.Width / 2
        ListView1.ColumnHeaders.Add , , "真实值", ListView1.Width / 2
        
        Dim CN As New ADODB.Connection
        Dim Rs As New ADODB.Recordset    CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=Report;User Id=sa;Password=sa;"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from table1", CN, adOpenDynamic, adLockBatchOptimistic
        Rs.MoveFirst
        Do While Not Rs.EOF
     
            Set Item = ListView1.ListItems.Add(, , Trim(Rs.Fields("lno")))
            
            Item.ListSubItems.Add , , Trim(Rs.Fields("lname"))
            Rs.MoveNext
        Loop
      

  7.   

    目的就是要把被选中的记录给送到打印机打印出来,打印已经是没问题了关键是怎么实现可以挑选记录的问题,大家说了很多,我听说可以用控件vaSpread(http://www.cndevx.com/down.asp?downtype=1&detail_id=439),我下了,可是就是不知道怎么让它出现checkbox这个框
      

  8.   

    那个表里如果只有一个字段的话就用 list控件足够了, 把style设为check, 然后用list.selected(i)=True来判断是否选中。 如果是多字段的话, 就用listview. 自己写些代码~
      

  9.   

    对了采用listview,如果连的数据库是ORACLE,如何写连数据库的那段?
      

  10.   

    有多个字段用listbox也够了,反正就是看看要打哪个文件嘛。
    计算格式并拼接各字段内容(使对齐),加上checkbox属性。嫌不美观可以画几条线。
      

  11.   

    把数据放到MSHFlexGrid中后,在第一列前再插入一列,然后在MSHFlexGrid的click事件中判断当前是点击哪一列,假如是新增的第一列时,再判断当前的单元格中的字符,假如是空,则填入√,反之则放入空字符串。如果做的好一点,在keypress事件也进行判断。
    最后在打印时就从第一行开始逐行判断其第一列是否有√,有则打印此行数据。