VBA-DAO Recordset:如何判断是否处于新建记录行位置
判断DAO Recordset是否处于新建记录行位置
在VBA的DAO Recordset中,执行AddNew方法后,AbsolutePosition、BOF和EOF属性不会发生变化,此时可以通过**EditMode属性**来判断是否处于新建记录行位置。
DAO Recordset的EditMode属性对应三个核心状态常量:
dbEditNone(值为0):无编辑或新建操作dbEditInProgress(值为1):正在编辑现有记录dbEditAdd(值为2):处于新建记录的状态
调用AddNew方法后,EditMode会立即切换为dbEditAdd,这就是判断新建记录行的直接依据。
代码示例
Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("YourTableName", dbOpenDynaset) ' 启动新建记录操作 rs.AddNew ' 判断是否处于新建记录行 If rs.EditMode = dbEditAdd Then Debug.Print "当前处于新建记录行位置" ' 为新建记录的字段赋值 rs!FieldName1 = "测试内容1" rs!FieldName2 = "测试内容2" End If ' 保存新建记录 rs.Update rs.Close Set rs = Nothing
注意:执行Update保存记录或CancelUpdate取消新建后,EditMode会恢复为dbEditNone状态。
内容的提问来源于stack exchange,提问作者Alex Boorjs
相关产品推荐
相关产品推荐

