MS Access - Oracle:无法将记录添加到表单记录集中
MSAccess - Oracle: Cant add record to form recordset
我有一个 MSAccess 应用程序,我想将数据迁移到 Oracle 数据库。我已将 table 链接到新位置,我可以浏览记录,但我发现了一些问题。其中之一是我有一个带有 "new record" 按钮的表单,该按钮在下面的 DoCmd 行中出现 2105 错误“您无法转到指定的记录”。
Private Sub cmbNew_Click()
DoCmd.GoToRecord , , acNewRec 'Error here
[...]
End Sub
表单数据源是单个 table,没有复杂的查询。我正在使用特权用户访问链接的 tables(应该不是 R/W 权限的问题)。
谢谢。
好吧,表格暂时忘掉,直接打开linked table。您可以移动到新的 row/record 并添加它吗?如果 linked table 不允许添加记录,那么尝试各种形式和代码都是没有用的。在此期间,您是否尝试过在打开 linked table 时编辑记录? (同样,尝试各种形式的代码、VBA 和所有那些花哨的东西都是没有用的——总是先尝试打开 table,然后看看是否可以编辑)。然后你才想开始弄乱表格。
在大多数情况下,无法在 linked table 中编辑(或添加)数据的原因是:
linked table 没有设置主键。当你 link 一个 table,在 linking 之后,上面的 2 秒测试是个好主意。您也可以在设计视图中打开 linked table,并快速检查一下 linked table "sees" PK.
所以,你想让服务器端的table有一个PK。当然,除了设置了 PK 之外,它还可能是某种自动编号列。
如果 linked table 没有 PK(或者 access 无法弄清楚和看到 PK),那么 table 将是只读的 - 你无法编辑,当然也无法添加新行。
我有一个 MSAccess 应用程序,我想将数据迁移到 Oracle 数据库。我已将 table 链接到新位置,我可以浏览记录,但我发现了一些问题。其中之一是我有一个带有 "new record" 按钮的表单,该按钮在下面的 DoCmd 行中出现 2105 错误“您无法转到指定的记录”。
Private Sub cmbNew_Click()
DoCmd.GoToRecord , , acNewRec 'Error here
[...]
End Sub
表单数据源是单个 table,没有复杂的查询。我正在使用特权用户访问链接的 tables(应该不是 R/W 权限的问题)。
谢谢。
好吧,表格暂时忘掉,直接打开linked table。您可以移动到新的 row/record 并添加它吗?如果 linked table 不允许添加记录,那么尝试各种形式和代码都是没有用的。在此期间,您是否尝试过在打开 linked table 时编辑记录? (同样,尝试各种形式的代码、VBA 和所有那些花哨的东西都是没有用的——总是先尝试打开 table,然后看看是否可以编辑)。然后你才想开始弄乱表格。
在大多数情况下,无法在 linked table 中编辑(或添加)数据的原因是:
linked table 没有设置主键。当你 link 一个 table,在 linking 之后,上面的 2 秒测试是个好主意。您也可以在设计视图中打开 linked table,并快速检查一下 linked table "sees" PK.
所以,你想让服务器端的table有一个PK。当然,除了设置了 PK 之外,它还可能是某种自动编号列。
如果 linked table 没有 PK(或者 access 无法弄清楚和看到 PK),那么 table 将是只读的 - 你无法编辑,当然也无法添加新行。