0

我在创建用于跟踪工作中支持票证的数据库时遇到问题,我无法弄清楚问题所在 - 真的希望这里的某个人能够解决这个问题吗?

问题是,当我将文件提供给人们时,每个人都有自己保存的前端版本 - 后端表最终开始完全锁定,导致每个人都出错,我无法确定原因。

创建: 我创建了一个后端表来保存将要添加的记录 - Tbl_Tickets。我创建了一个附加文件,其中包含一些信息,这些信息被提取并添加到 tbl_tickets,关于记录票证的人、日期、时间和其他一些信息。这两个后端表都链接回我创建的前端文件。Frm_TicketEntry。

此表单已设置为“无锁定” - 根据我的阅读,这仅在写入更改时锁定文件。

我有一个按钮来添加新记录。这会在 Tbl_Tickets 中创建一个新条目,为必填字段设置默认值,并保存工单,然后返回到前一个工单以继续编辑/输入信息。我还有一个“保存记录”按钮 - 这会将新编辑的信息保存在表单上,​​然后刷新所有信息 - 这会更新显示表中前 5 个工单的子表单/报告。

现在,从弹出错误时的“调试”中,我可以看到问题通常是在尝试运行保存记录命令时 - DoCmd.RunCommand acCmdSaveRecord - 作为“新记录”子或“保存”子的一部分。虽然在检查后端时我可以看到它,因为它已被完全锁定。

我可以提供我所有的代码 - 但提供文件本身将是一个问题 - 由于提供工作相关文件等的工作法规:/

我的运行已经结束,如果无法解决这些问题 - 我将不得不将此项目让给其他人。

4

1 回答 1

0

显然,即使您不这么认为,您的代码或对象也会以某种方式锁定表。

您可以尝试使用此处的方法和代码替换您的保存代码:

静默处理 Access 中的并发更新冲突

或者在这里:

完整网址

它不会解决所有可能的冲突场景,但至少它可以指出在哪里或何时某些事情没有按预期运行。

GitHub 上的代码:VBA.ConcurrencyUpdates

于 2016-06-27T08:40:00.150 回答