如何摆脱在子表单末尾添加新记录?

Posted

技术标签:

【中文标题】如何摆脱在子表单末尾添加新记录?【英文标题】:How to get rid of adding new record at the end of a subform? 【发布时间】:2012-04-09 15:57:29 【问题描述】:

我使用子表单来显示查询结果,但在记录末尾有一个*(New) 用于添加新记录。我不希望用户能够通过这个子表单添加新记录。我怎样才能摆脱它?

【问题讨论】:

@HansUp 这就是答案,是吗? 谢谢!它可以工作,但在我的访问中,在数据选项卡下刚刚命名为“已启用”。它不允许添加新记录,但是 *(New) 这个词仍然存在.. 我不能完全删除它吗? 等待.. 我找到“允许添加”.. thx @HansUp 你如何添加答案,我们投票支持超级用户? 我找到了“允许编辑”并将其设置为 NO 可以摆脱 *(新)。谢谢汉斯UP! 【参考方案1】:

使用设计视图中的表单,打开其属性表。然后选择属性表上的Data选项卡,找到名为“Allow Additions”的属性,设置为No。

【讨论】:

【参考方案2】:

遇到了完全相同的问题。

我的数据库是跟踪篮球盒得分。每个新的主窗体都创建了一个新的空白子窗体来输入季度分数。问题是,当我在最后一个季度得分值上按 Enter 键后,我通过字段输入时,为季度得分所基于的表创建了一条新记录。 我无法使用 Allow Additions = no。如果我不允许添加,则在创建新主表单(用于新游戏)时不会创建四分之一分输入。 在创建新的季度得分记录之前,我将下面的代码用于 Enter 键的按键事件以将焦点设置在另一个子表单上。注释的行有助于在创建代码时排除故障。密钥代码 13 是 Enter 键。 希望这对某人有所帮助,需要一段时间才能做到这一点。 窝

Private Sub HOT2_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode <> 13 Then Exit Sub
    'MsgBox "Enter Pressed"
    KeyCode = 0
    'MsgBox "KeyCode=0"
    Forms!FRM_BoxScores.Scrimmage.SetFocus
    Forms!FRM_BoxScores!subform_qryReturnVisitingPlayers_BosScores.Form!subform_tblPlayerPoints_BoxScores.Form!PlayerPoints.SetFocus

结束子

【讨论】:

【参考方案3】:

在数据表单属性>数据选项卡中将记录集类型更改为屏幕截图。请注意,一旦您更改此设置,用户将无法更改您的任何数据

【讨论】:

【参考方案4】:

在您的子表单设计网格中,打开属性。

在哪里说记录集类型,将其设置为快照。这将删除该行。 届时记录集将不可更新。所以如果你想编辑记录,你必须把它改回来

【讨论】:

没有。问题不是使表单只读,而是不允许添加。接受的答案是哪个答案。

以上是关于如何摆脱在子表单末尾添加新记录?的主要内容,如果未能解决你的问题,请参考以下文章

复制 MS Access 主表单记录,同时将父子链接保留在子表单中

访问表单不显示添加新记录(空记录) - Recordsource 是一个视图

在按钮单击 MS Access 2013 VBA 在子窗体中创建新记录

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

在子表单中搜索值 (vba Access 2013)

(访问)在文本字段中搜索与另一个表字段中的字符串匹配的字符串,并在子表单中显示这些匹配记录