Access 2007 不允许用户删除子表单中的记录

Posted

技术标签:

【中文标题】Access 2007 不允许用户删除子表单中的记录【英文标题】:Access 2007 not allowing user to delete record in subform 【发布时间】:2010-04-15 16:41:50 【问题描述】:

美好的一天...

我的问题的根源是没有上下文菜单允许用户从表单中删除一行。功能区上的“删除”按钮也被禁用。在 Access 2003 中,这个功能显然是可用的,但是自从我们最近“升级”到 2007(文件仍然是 MDB 格式)后,它就不再存在了。

请记住,我不是 Access 开发人员,也不是我创建此应用程序 - 我继承了对它的支持。 ;) 现在了解详细信息,以及我尝试过的方法。

有问题的表单是较大表单的子表单。我尝试在两种表单上都打开“AllowDeletes”。我检查了表单上的工具栏和功能区属性,看看它们是否加载了一些自定义内容,但没有。我尝试将“记录锁定”更改为“编辑时”,不高兴。我检查了查询,看看它是否“太复杂”而无法删除——据我所知,这是一个非常简单的两个(链接)表连接。与此应用中允许行删除的另一个表单相比,它的查询要复杂得多(多连接,基于查询)。

是否有资源可以描述允许删除所需的条件?

提前谢谢...

【问题讨论】:

从 @Smandoli 的回答中的 cmets 来看,我认为很明显您不是在谈论删除图标在工具栏/功能区上丢失或禁用,而是您实际上被禁止即使您手动选择记录并按删除键也可以删除? 我说的是上下文菜单中没有“删除记录”条目,以及禁用了“删除”按钮的功能区。我只是在选择行选择器后尝试了删除键 - 它拒绝删除行,在状态栏中给我一个“无法使用此表单删除记录”消息。那条消息把我带到了这里:office.microsoft.com/en-us/access/HA011739511033.aspx - 这没有帮助......因为它说要打开 AllowDeletes,它是...... 【参考方案1】:

打开作为子表单基础的查询。可以编辑记录吗?如果不是,则查询可能是问题所在。

您确定在 2007 年升级中发生了功能变化吗?因为下一个可能的原因是设置,通过表单设计界面或 VBA 代码进行的众多访问之一。

【讨论】:

我不肯定该功能会因升级而消失 - 我没有密切监视这个应用程序。我一定会尝试直接从查询“数据表”视图中删除一条记录并让您知道。 抱歉侮辱你的智商,但你知道我不是指表格的“数据表视图”,而是直接查询,“nuff 说。如果查询是可更新的,则表单上的设置比您引用的要多。此外,如果查询不可更新,可能是因为它有一个属性集“快照”。 啊,不。如果我直接从导航窗格以数据表模式打开查询,我可以通过上下文菜单和功能区中的记录组删除行。 我确认您的故障排除。在这一点上我也必须承认我没有使用2007!子窗体是主窗体的控件,所以检查它的属性(我相信你有)。如果一切都失败了,您可以采取两条路径:首先,制作子表单的新版本,看看它以最小形式正常工作;然后建立它,看看(a)问题是否永远不会出现或(b)你找出原因。二、运行“Documentor”,随意详尽;然后将其导出为 PDF 并根据“锁定”、“快照”等术语运行搜索。 嘿嘿,我拼错了:office.microsoft.com/en-us/access/HA102706681033.aspx#2***.com/questions/1093475/…

以上是关于Access 2007 不允许用户删除子表单中的记录的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 2003/2007 - 子窗体作为控制面板,关闭父窗体与全局类似参考?

Access 2007 中的选项卡控件之外的选项卡

通过弹出子表单 (2) 添加新子表单 (1) 记录后重新查询子表单 (1) - Access 2007

MS-Access 2007 - 如何在点击事件中以编程方式访问子表单列数据

访问 2007 表单组合框不接受列表中的项目

Access 子表单中的字段名称填充了 vba 记录集