Dim Rs As New ADODB.Recordset Dim Cn As New ADODB.Connection Rs.Open "Select * from 表名", Cn, adOpenStatic, adLockBatchOptimistic Set DataGrid1.DataSource = Rs Dim Mvar As Variant For Each Mvar In DataGrid1.SelBooks Rs.Book = Mvar Rs.Delete Next Rs.UpdateBatch
使用MSHFlexGrid 整行删除为:MSHFlexGrid1.RemoveItem MSHFlexGrid1.Row 最好在模块中使用:Public PubRowCount As Long '表格中数据的总行数 然后再:PubRowCount = PubRowCount - 1 试一试别忘了给我加分呀!
Dim Rs As New ADODB.Recordset Dim Cn As New ADODB.Connection Rs.Open "Select * from 表名", Cn, adOpenStatic, adLockBatchOptimistic Set DataGrid1.DataSource = Rs Dim Mvar As Variant For Each Mvar In DataGrid1.SelBooks Rs.Book = Mvar Rs.Delete Next Rs.UpdateBatch
在DATAGRID中不好用,不好检测当前行
我觉得最好用msflexgrid,那个可以很方便的检测到那一行,那一列然后你就可以很方便的做删除操作
Dim Cn As New ADODB.Connection
Rs.Open "Select * from 表名", Cn, adOpenStatic, adLockBatchOptimistic
Set DataGrid1.DataSource = Rs
Dim Mvar As Variant
For Each Mvar In DataGrid1.SelBooks
Rs.Book = Mvar
Rs.Delete
Next
Rs.UpdateBatch
整行删除为:MSHFlexGrid1.RemoveItem MSHFlexGrid1.Row
最好在模块中使用:Public PubRowCount As Long '表格中数据的总行数
然后再:PubRowCount = PubRowCount - 1
试一试别忘了给我加分呀!
如果表中有相同的记录,
用datagrid1.delete对这相同记录任意一条进行操作时都会出错。
Dim Cn As New ADODB.Connection
Rs.Open "Select * from 表名", Cn, adOpenStatic, adLockBatchOptimistic
Set DataGrid1.DataSource = Rs
Dim Mvar As Variant
For Each Mvar In DataGrid1.SelBooks
Rs.Book = Mvar
Rs.Delete
Next
Rs.UpdateBatch