代码如下
Dim StrEmployeeID As String '要删除的记录的编号
Dim StrDatePay As String '要删除的记录的月份
StrEmployeeID = DataGridPayList.Columns(0).CellText(DataGridPayList.Book)
StrDatePay = DataGridPayList.Columns(4).CellText(DataGridPayList.Book)
If MsgBox("你确实要删除" & StrEmployeeID & "编号" & StrDatePay & "份的工资记录吗?", vbQuestion + vbOKCancel, "提示信息") = vbCancel Then
   Exit Sub
End If
db.Execute "delete from employeepaytable where 编号='" & StrEmployeeID & "' and 月份='" & StrDatePay & "'"
Adodc1.Refresh
DataGridPayList.Refresh可是删除操作执行之后
DATAGRID的内容并没有立即刷新,需要重新执行相应的查询操作,才能刷新
请指教
非常感谢
问题解决立即结贴

解决方案 »

  1.   

    db.Execute "delete from employeepaytable where 编号='" & StrEmployeeID & "'",****,***** 
    加两个参数试试
      

  2.   

    Set rsEmployeePay = New Recordset
    If rsEmployeePay.State = adStateOpen Then rsEmployeePay.Close
    rsEmployeePay.Open StrQueryPay, db, adOpenStatic, adLockOptimistic
    rsEmployeePay.Requery为什么加上上面的代码之后就可以了呢?
    搞不懂
      

  3.   

    后来是刷新的recordset
    开始刷新的adodc
    看你代码不知道你datagrid 和adodc有什么关系
    绑定的东东,我从来不用
      

  4.   

    rsEmployeePay.Requery关键是这句了.重新进行了刷新Recordset.然后与其绑定的相应控件也会刷新.
      

  5.   

    楼主看错了
    我说的是adodc1.refresh,好象刷新之后recordset没刷新
    datagrid的datasource是recordset
    该刷新的是recordset
      

  6.   

    adodc只是放在窗体上的控件,你刷新控件并没有刷新记录源(RECORDER),所以它显示出来的数据肯定是以前查询出来的数据罗!!!!!!!!