Public Rs As New ADODB.Recordset
Rs打开的是一个sql2000的视图,本事是不允许更新的Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) 
'    If Shift = 2 Then   '等于2是Ctrl键
'        If KeyCode = 77 Then    '83是S代码  尝试更改为77是M   尝试用crtl+r,则与ctrl+s错误相同
'            If Com_save.Enabled = True Then
'                Call Com_save_Click
'            End If
'        End If
'    End If
End Sub    用ctrl+s触发,保存数据后,程序在第一个 Rs.Sort = ""处出现错误,因为我的rs连接的是一个sql2000的视图,是不允许更改的,出现的错误就是“无法更改这个视图,因为视图有top字句”。    这里要请教以下各位,把sort属性置空会不会更改rs的值呢?因为我没有调用Rs.UpdateBatch来更新数据啊,怎么会出现这样的错误呢?我看帮助文档说sort属性置空会删除字段索引,这个应该不会导致这个错误把?再者,当我不用快捷键,而用鼠标点击,激活Com_save_Click按钮事件时,是不会出现这个错误的。只有用了Ctrl+S快捷键后出现此错误。
    另外,我尝试在rs.sort = ""之前先rs.close,这样也能顺利通过。但我总觉得不是sort的问题。
    当我用逐条语句进行调试的时候,在rs.sort = ""处并不会出现错误。
    总之我觉得这个错误应该和快捷键有关,但不知道为什么,一头雾水中    用ctrl+m则又是另外一个错误,程序判定在我刚修改的textbox中输入了回车:KeyAscii = 13,然后进入不该进的程序段,然后出错。
    以上错误,如果通过手动按Com_save按钮来调用代码,而不是用快捷键的话,又一切正常。    这些问题有点棘手,不知道是vb本身问题还是什么。麻烦哪位高人能指点一下,要不我只能放弃使用快捷键,纯用鼠标点了。谢谢!!!