'DataGrid1.DateGrid 相关属性:
         AllowUpdate     =   -1  'True
         AllowArrows     =   -1  'True
         ColumnHeaders   =   0   'False
'ADO + Access97         
'按钮,删除事件
Private Sub cmdDlt_Click()
  On Error GoTo DeleteErr
  With adoRS
    .Delete
    .MoveNext
    If .EOF Then .MoveLast
  End With
  
  Exit Sub
DeleteErr:
  MsgBox Err.Description
End Sub'ADO 语句模糊查询后,返回数据若干行,问题来了:
'1.若点击第一行数据,使其高亮,再执行cmdDlt_Click语句删除,出错!
'2.若选择删除了第二条以下的行,再回来选择第二行删除,实际删除的是第三行!'好多语句进行检查,不应该错的,提供详细解决经验的,定高分!'其它相关:
'窗体没有菜单栏和标题栏(设计需要),在控件的_KeyDown(K As Integer, S As Integer)下有一些If S = 2 And K = vbKeyD Then  cmdDlt_Click  之类的代码

解决方案 »

  1.   

    Private Sub cmdDlt_Click()
      On Error GoTo DeleteErr
      With adoRS
        .Delete
        .requery
        If .EOF Then .MoveLast
      End With
      DataGrid.refresh
      Exit Sub
    DeleteErr:
      MsgBox Err.Description
    End Sub
      

  2.   

    DataGrid是一个非常烂的ADO表格控件,我从来就没用过!
      

  3.   

    问题 出在MoveNext,你用 maskzha(蓝色公瑾) 的。
      

  4.   

    maskzha(蓝色公瑾)的代码早就试过了,其实同样的代码,同样的控件,在其他窗体没有问题的。
    我怀疑是有其他的冲突?
      

  5.   

    相关属性再检查一下,然后试试Private Sub cmdDlt_Click()
      On Error GoTo DeleteErr
      
        adoRS.Delete
        adoRS.requery
        
      DataGrid.refresh
      Exit Sub
    DeleteErr:
      MsgBox Err.Description
    End Sub