VB中,我想做出这样的功能就是选定datagrid中某行后,点删除按钮就能把那行给删掉。但是总是有点问题,大家帮我看下代码:
Private Sub Cmddel_Click()
  On Error Resume Next
  If MsgBox("确定删除此联系人的所有信息?", vbYesNo + vbQuestion + vbDefaultButton2, "确认") = vbYes Then   Dim r As New ADODB.Recordset
   Set r = DataEnv.rslxr
     r.Open
     
     rsql = "select from 联系人信息表 where zbh='" & Txtzbh & "'"
     r.Delete
   
   DataEnv.rslxr.MoveNext
   
   If DataEnv.rslxr.EOF Then DataEnv.rslxr.MoveLast
   r.Close
     End If
  Call refreshgrid
End Sub他总是自动删除第1行txtzbh是一个文本,我这样设置了,当鼠标选定某一行的时候,txtzbh里的文本就变成那一行的编号,编号是ACCESS里的自编号,也是主键。大家帮我看看问题在哪里还有,我想他既然老是删除第1行,那我想能不能在选定一行后,自动让那一行置顶。求代码

解决方案 »

  1.   

    鼠标点击要删除的行编号字段,
    dim ss as string '定义字段
    Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
       ss = DataGrid1.Columns.Item(DataGrid1.col).Value
    end sub'删除
    Private   Sub   Cmddel_Click() 
    dim sql as string 
    sql="Delete From  联系人信息表   where   zbh= ' "   &   Txtzbh   &   " ' " 
    cN.Execute strend sub