1

我有以下情况:我用子表单构建了一个 Access 表单(其中记录通过某个键链接到主表单的记录)。当我尝试删除子表单中的任何记录时,我收到以下消息:“Access 已暂停操作,因为您和另一个用户试图更改数据”(德语的近似翻译)。有谁知道如何从子表单(以及分别从表单后面的表中)删除这些记录。

4

3 回答 3

1

如果您当前正在“编辑”当前表单,那么它将不允许该操作。编辑记录有时可以通过在字段内单击或您通常不会考虑“编辑”的其他简单操作来触发。

这通常在 Access 中通过使用 RunCommand 方法在删除记录之前撤消任何编辑来避免:

DoCmd.RunCommand acCmdUndo
于 2008-08-29T08:19:42.093 回答
1

samjudson 建议:

DoCmd.RunCommand acCmdUndo

您还可以使用 Me.Undo 撤消对运行代码的表单的最后一次编辑。

或者,Me!MySubForm.Form.Undo 撤消在其子窗体控件名为“MySubForm”的子窗体中最后未保存的编辑。

您还可以使用 Me!MyControl.Undo 取消对特定控件的最后编辑。

“DoCmd.RunCommand acCmdUndo”会将撤消操作应用于当前选定的对象,但您不确定它是否会应用于控件或表单级别。使用我建议的命令完全消除了被撤消的歧义。

但请记住,在控件的 AfterUpdate 事件触发后,Undo 不会撤消对控件的编辑,也不会在其 AfterUpdate 事件触发后撤消对表单的编辑(即,数据已保存到基础数据表中)。

于 2008-09-15T22:35:30.707 回答
0

还要检查您拥有的“行锁定机制”。我有一段时间没有使用 Access,但我记得您可以在表属性中使用设置。您可以通过单击表格左上角著名的“点”来访问这些属性,以调出其属性。好吧,如果您使用的是 Access,您就会知道我在说什么。

于 2008-08-29T08:27:01.280 回答