MS Access 表单不允许添加 SQL Server 后端
Posted
技术标签:
【中文标题】MS Access 表单不允许添加 SQL Server 后端【英文标题】:MS Access form not allowing additions with SQL Server Backend 【发布时间】:2017-11-10 15:27:48 【问题描述】:我遇到了一个 Access Front-End 表单不允许添加的问题,即使检查了添加。在后端转换之前,这工作正常,但现在不行。
背景 -- 重要
我一直在从事一个项目,该项目涉及探索一种名为 SSMA 的工具,以将 Access 后端移动到 SQL Server 并使其与相同的 Access 前端一起运行。为此,我一直在努力解决前端的问题。所有表的所有数据连接都很好,大多数前端功能都可以正常工作,但我试图诊断的一个错误很难修复。
我有一个表单/子表单,它应该拉起并允许用户输入信息,还可以在数据表视图中单击输入并添加其他元组。在转换之前,这工作正常。我链接到 SQL Server 的新访问前端文件似乎不允许添加。如果数据已经在表中,它将拉起并允许更新该信息,并且通过右键单击元组也可以删除,但不能添加。左边没有*。像这样设置的前端还有其他表单和子表单,但它们都可以正常工作。这个具有与那些相同的属性。该数据表引用了两个表。
我一直在寻找几个小时来试图找到解决方案。在此之前也从未接触过access或vb。非常感谢任何帮助。
复选框数据类型默认为 0 并允许空值 Access 2013 与 SQL Server 表的 ODBC 连接【问题讨论】:
如果在Access(而不是表单)中直接打开链接表,表是否允许插入?发布 SQL Server 表 DDL。您可以通过使用 SQL Server Management Studio docs.microsoft.com/en-us/sql/ssms/… 编写表来获得此信息 如果 RecordSource 指向可能生成不一致更新的查询,Access 将不允许插入。同样,Access 也不允许插入视图。正如 David 要求的那样,发布您的 RecordSource,它的 SQL 可能会有所帮助。 @DavidBrowne-Microsoft 是的,我可以通过访问 Access 中的链接表进行插入。在进行这些插入之后,我还可以通过 SSMS 访问 SQL Server 来验证它们是否成功。 @krishKM 记录源看起来像这样。我已经更改了名称,但它遵循这种格式 SELECT ChildTable.ChildTableID, ChildTable.Obj1ID, ChildTable.Obj2, ParentTable.Obj3, ParentTable.Obj4, ParentTable.Obj5, ParentTable.Obj6, ParentTable.Obj7, ParentTable.Obj8, ParentTable.Obj9 , ParentTable.Obj10, ChildTable.Obj11, ChildTable.Obj12, ParentTable.Obj13, ParentTable.Obj14, FROM ParentTable INNER JOIN ChildTable ON ParentTable.ChildTableID = ChildTable.ChildTableID; @T.Ladd 您必须将查询更改为左连接符并从主表(您要插入的表)返回 * 【参考方案1】:只需在评论中添加 krish KM 提供的解决方案即可。
将查询更改为左连接器并从主表返回 * (你要插入的那个)
那个(SELECT *,而不是 SELECT [col1]、[col2]、[etc.])为我解决了这个问题。
【讨论】:
以上是关于MS Access 表单不允许添加 SQL Server 后端的主要内容,如果未能解决你的问题,请参考以下文章