无法在 access 2007 拆分表单中创建新记录
Posted
技术标签:
【中文标题】无法在 access 2007 拆分表单中创建新记录【英文标题】:Unable to create new record in access 2007 split form 【发布时间】:2011-11-07 14:16:13 【问题描述】:我一直在开发 access 2007 数据库,但在通过拆分视图表单添加新记录时遇到了问题。
为了防止意外删除字段,我在每个表单上添加了一个锁定按钮(下图中右起第二个)。用户切换此按钮以在编辑模式和只读模式之间切换。默认情况下,表单处于只读模式。
按钮单击事件上的此 VBA 代码切换以下属性 AllowEdits
、AllowAdditions
、AllowDeletions
,并使用以下代码切换“删除记录”和“添加记录”按钮的启用状态.
Private Sub Form_Load()
ReadOnly (True)
End Sub
Private Sub btnLock_Click()
If lblEditMode.Caption = "Edit Mode" Then
ReadOnly (True)
Else
ReadOnly (False)
End If
End Sub
Private Function ReadOnly(value As Boolean)
Dim enableState As Boolean
enableState = Not value
If Dirty Then Dirty = False
AllowEdits = enableState
AllowAdditions = enableState
AllowDeletions = enableState
BtnNew.Enabled = enableState
BtnDelete.Enabled = enableState
If enableState = False Then
lblEditMode.Caption = ""
Else
lblEditMode.Caption = "Edit Mode"
End If
End Function
最初,我在表单底部使用自定义导航按钮,但后来删除了这些按钮以支持使用拆分表单。
现在我在表单上所能做的就是编辑或删除记录。我无法添加新记录。
我已经浏览了我能想到的使用设计视图的所有属性,但没有发现任何可能导致这种情况的东西。有什么想法可能导致这种情况吗?
我已经修改了许多表单以使用拆分视图,但现在它们都遇到了同样的问题。
“添加新”按钮(使用标准宏)会生成消息“您无法转到指定的记录”。表单的数据表部分未在底部显示可插入的行。此外,主页功能区上的“添加”按钮会在AllowAdditions
的状态切换时启用和禁用。
编辑:将表单从拆分表单更改回单个表单允许我添加新记录。但是,一旦我再次将表单改回拆分表单,我就无法添加新记录。
【问题讨论】:
第二个表单是子表单吗?您能否向我们提供有关基础表/查询的详细信息?! 不,这是一个拆分表单,即表单顶部和底部表示相同的数据。底部的数据网格显示了许多记录,但表单的主要部分(顶部)显示了在数据网格中选择的记录。数据没有什么异常。它只是一系列不同类型的字段(字符串、长、日期、索引自动递增 PK ID 字段)以及许多查找表(由组合框描述)。 您是否在网上任何地方都可以下载该样本/测试数据库?在我看来,它确实可能是一个 Access 错误。我建议您也可以在 UtterAccess 上发帖。那里有几个 MVP 可能有兴趣为您研究这个问题。 感谢 HK1。我不确定我是否可以把它放到网上(至少不是现在的形式)。我不熟悉 UtterAccess TBH,但我会研究一下。 【参考方案1】:我知道这是一个迟到的回复。但这可能对其他人有所帮助。 我认为您将所有控件都放在了表单标题中。请将所有控件放在详细信息部分并尝试一下..希望这能解决问题。
【讨论】:
以上是关于无法在 access 2007 拆分表单中创建新记录的主要内容,如果未能解决你的问题,请参考以下文章