尝试新记录时,Access 2013无法在表单和运行时错误2105中添加新行

时间:2018-03-14 00:10:24

标签: runtime-error ms-access-2013

我正在将几个adp文件迁移到accdb,以便它可以在访问2013下工作但是一个问题让我疯狂: 我有一个表单,我无法看到空行添加新数据

  • 表单属性允许添加
  • 表单的记录源是一个sql View,我可以直接从访问中添加一个新行(所以它不是只读的)
  • 我在使用me.allowadditions = true初始化安全性时强制对代码执行AllowAddition(这曾经足以让它在旧的adp中工作)
  • 我有一个按钮可以在运行on_click的表单上添加一个新行,并在这行代码 Docmd.gotorecord,AcNewRec 上给我一个运行时错误 运行时错误是" 2105:您无法转到指定的记录"。 这告诉我有些东西仍然是只读的。
  • SQL View具有索引以及其中使用的所有表格。
  • 我试图用表替换表单记录集中的视图但仍然无法正常工作。

我错过了什么吗?如果能够在表单(或视图)中添加新记录,我还能做些什么呢?

谢谢

1 个答案:

答案 0 :(得分:0)

尝试在调用新记录之前将焦点设置到表单中的一个文本框控件,这些内容与

一致。
me.txtControl.SetFocus 

原因是,SQL Server后端以不同于Access后端的方式分配新记录,并且Access在界面中为您提供了一些魔力,所以我发现有时明确地将焦点设置为文本控件将解决此问题。 / p>

根据Access应用程序的结构,如果该建议不起作用,那么您可能需要在SQL Server中以编程方式创建新记录(除主键之外的空白字段)以及然后刷新Access窗体,然后setfocus到新创建的记录(例如,根据您的记录源排序顺序,最后一条或第一条记录)