【问题标题】:Access not going to new record访问不去新记录
【发布时间】:2017-11-17 17:09:33
【问题描述】:

我有一个非常复杂且陈旧的访问应用程序,根本不应该访问。

我正在尝试添加一个新表单。我复制了旧表单并将 SQL 表名更改为新表名。我在 SQL 中添加了测试数据,一切看起来都很好。

但是我无法添加新记录。其他表单有一个可以使用的新按钮,或者您可以单击底部的小箭头。在这种情况下,它是灰色的。

新建按钮给我错误 2046 命令或操作 RecordsGoToNew 现在不可用。两个都试过了,都不行。

' DoCmd.GoToRecord , , acNewRec
  DoCmd.RunCommand acCmdRecordsGoToNew

我错过了什么?我不经常使用 Access,而且这段代码太旧了,我很难理解它。接下来有很多关于错误的简历。所以我也觉得写得不好。但这不是重点。

任何帮助将不胜感激。谢谢。

ETA 我认为这可能是一个 SSMS 问题并将其标记为此类问题。如果我做一个未链接的表,它就可以工作。什么会导致这种情况发生?

谢谢。

【问题讨论】:

  • 您的表单是否使用表或 SQL 作为记录源?如果是 SQL,它是否包括表中的所有字段?有多个表吗?您的表单属性是否允许添加 = 是?该代码位于何处?哪个活动?
  • 您的表单是否使用表或 SQL 作为记录源?如果是 SQL,它是否包括表中的所有字段? SQL,是的。有多个表吗? 两个,标题和子窗体。如果我将它们添加到 SSMS 中,它们都会在 Access 中正确显示。您的表单属性是否允许添加 = 是? 该代码在哪里?哪个活动? 点击时 预计到达时间 - 谢谢
  • 我的意思是SQL中有多个表用作记录源吗?您是否尝试在查询窗口中使用您的 SQL 来添加新记录,您能做到吗?如果不是,则查询不可更新,因此您的表单也不可更新。
  • 我不明白。 Access中有对应SQL表的主窗体和子窗体。如何测试查询是否可更新?没有与该按钮关联的查询。就是上面的代码。我复制并粘贴了访问和 SQL 表/表单,只是将名称从 Header_ABC 更改为 Header_XYZ 是 SSMS 问题吗?我不知道。
  • (1) 在设计视图中打开表单; (2) 查看表单的“记录源”属性; (3) 它应该包含:(a) 表名,(b) 查询名,或 (c) SQL。 (4) 如果它显示一个查询名称,找到该查询并运行它。你能在你的数据库中添加一条记录吗? (5) 如果显示 SQL,则复制 SQL 的全部内容,并且:(a) 打开查询设计器; (b) 进入 SQL 视图; (c) 粘贴属性表中的 SQL; (d) 运行查询并查看是否能够将记录添加到数据库中。

标签: sql ms-access ssms ssms-2016


【解决方案1】:

我修好了。谢谢大家的帮助。我创建了一个未链接的表格版本来缩小范围。那行得通,所以我知道这是数据库的问题,而不是 Access 的问题。我的桌子是一样的。

我读了表格,我认为我的问题是我没有选择主键或者我选择了错误的主键。我可以说这很有帮助。但它仍然没有解决它。

我确实注意到一些在完成之前确实有空值的列被设置为不允许空值。所以我改变了它并让它工作。我不知道其他人是如何工作的,但是这个程序太糟糕了,而且一直都在中断,所以我只好继续运行它并继续前进。这不是生死攸关的信息,我会疯狂地测试它。

再次感谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多