【问题标题】:Continuous Form not allowing edits连续表格不允许编辑
【发布时间】:2015-09-16 14:48:06
【问题描述】:

我需要一个连续的表单来允许对一列进行编辑,尽管此时我会采取任何方式。

表单级别设置如下: 允许编辑:是的;允许删除:是的; AllowAdditions:是的;

表单控件设置: 启用:是;锁定:否;

记录源是具有以下设置的查询: 记录锁:无锁;记录集类型:动态集;

查询从 MS Access 中设置为链接表的 MS SQL 服务器表中提取,并且我在 SQL 服务器上拥有管理员权限。

我尝试重新制作表单的简化版本,但它仍然不允许编辑。我还有其他来自不同表格的连续表格可以编辑,但是每当我尝试有问题​​的表格时,什么都没有发生。似乎它会在表或查询级别。有没有我遗漏的设置?

编辑:查询从两个表中提取 -

dbo_tbl_controls(PK StatOrig - 文本)和

dbo_tbl_statspkgdata(PK 统计 - 文本;VType - 文本;Yr - 数字等)

StatOrig = Stat 上的关系是一对多的。我需要排序顺序的控制表。

【问题讨论】:

  • 你有唯一索引吗?如果是视图,您可能必须在链接上创建一个。在 MS Access 中链接表和创建查询会更容易。您仍然需要索引。
  • 听起来查询不可更新。查询是否仅使用单个 SQL Server 表?可以贴一下查询的 SQL 吗?
  • @Fionnuala SQL 表有一个标识列“ID”,如果你简单地执行它,查询就会拉出结果。
  • @Andre451 我实际上有一个旧版本的数据库,其中的查询是相同的,并且表单是可编辑的。在那个版本中,有一个总机。我删除了总机,取而代之的是我添加了几个按钮的空白表单。会不会是这个问题?
  • 能打开查询编辑数据吗?

标签: sql-server forms vba ms-access


【解决方案1】:

对于 SQL Server 后端,您必须在要编辑的任何表或视图上拥有相关的唯一索引。检查所有索引以确保它们是适当的。

您可以像这样在 VBA 中为视图创建索引:

db.Execute "CREATE UNIQUE INDEX uiId ON someview (Id) WITH PRIMARY"

【讨论】:

    猜你喜欢
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 2010-11-22
    • 2013-08-24
    • 1970-01-01
    • 2014-04-26
    相关资源
    最近更新 更多