以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Visual Basic 中,RecordSet.Delete 方法会直接删除选定行的数据。然而,在你的情况下,如果只是删除第一条记录,那么 RecordSet.Delete 将不会影响到其他未被选择的行。
要解决这个问题,你可以使用以下方法:
-
设置记录源:
在 Command2_Click 事件处理程序中,将 Adodc1.RecordSource 设置为一个包含所有数据的查询语句(例如:select * from 常用联系电话表)。这样可以确保在删除时也会删除所有其他行。
-
使用 Select Method 删除记录:
使用 Select Method 来删除选择的行,并结合 Remove Item 以确保正确地删除所选行。这将避免意外地删除第一条记录。
-
更新记录源和绑定 Grid:
更新 Adodc1.RecordSource 以反映新查询结果,并重新绑定网格以显示更改后的数据。
下面是实现这些功能的示例代码:
Private Sub Command2_Click()
' 设置记录源
Adodc1.RecordSource = "SELECT * FROM 常用联系电话表"
' 删除并移除第一行
Adodc1.Recordset.Delete
MSHFlexGrid1.RemoveItem MSHFlexGrid1.Row
End Sub
这段代码首先设置记录源为包含所有数据的查询语句。然后,通过 Recordset.Delete 条件性地删除记录,同时通过 Remove Item 操作来确保正确地移除了第一条记录。最后,更新 Adodc1.RecordSource 以反映新的查询结果,并重新绑定网格以显示更改后的数据。