我在datagrid中编辑数据,已经设成可更新。我改了数据后,必须要用光标键下移或上移光标,才能将更新提交(只打回车是不管用的).现在就有这个问题,如果修改数据后,没有上下移光标键,则当按查询按钮时,则会报错。(operation is not allowed in this context).
我的查询按钮中的代码是:
    On Error GoTo gherr
    Set DataGrid1.DataSource = Nothing
    DataGrid1.Refresh
    If conn.State <> adStateOpen Then
        getconn     '自定义连接函数
    End If
    
    If rsbook.State = adStateOpen Then
        rsbook.Close             '这一句报错。
    End If    strquery = "select * from bookmessage"
    rsbook.CursorLocation = adUseClient  '使用本地游标
    rsbook.Open strquery, conn, adOpenStatic, adLockOptimistic
    Set DataGrid1.DataSource = rsbook
    DataGrid1.Refresh
   
    Exit Sub
gherr:
   MsgBox ("程序发生错误,已退出" & Err.Description)
   Exit Sub
请高手指教,用什么代码可以对是否提交做出判断呢?比如有时虽改了数据,但是我不想提交这个更新。(最基本的就是要做到,不能因为不上下移光标键,点查询按钮时就报错。)