【发布时间】:2011-12-15 00:55:43
【问题描述】:
我有一个简单的 Access 2007 数据库,我在表单中添加了一个按钮,用于切换编辑当前显示记录的功能。
默认情况下,我将 AllowEdits、AllowAdditions 和 AllowDeletions 设置为 false。单击“编辑模式”按钮会改变这一点。
我还添加了几个表单事件,当显示的记录发生变化时,编辑模式被取消。
我现在发现我无法创建新记录,因为当我单击 BtnNew(附加的标准添加新记录宏)时,我收到错误“您无法转到指定的记录”。
我在数据库中的VB代码如下,任何人都可以看到我做错了什么,或者从哪里开始寻找? (我的 VB/Access 知识欠缺,但我理解这些概念,因为我是 C# 开发人员)。
Private Sub BtnEdit_Click()
If lblEditMode.Caption = "Edit Mode" Then
Disable
Else
Enable
End If
End Sub
Private Sub Form_AfterDelConfirm(Status As Integer)
Disable
End Sub
Private Sub Form_Current()
Disable
End Sub
Private Sub Disable()
AllowEdits = False
AllowAdditions = False
AllowDeletions = False
BtnNew.Enabled = False
BtnDelete.Enabled = False
lblEditMode.Caption = ""
End Sub
Private Sub Enable()
AllowEdits = True
AllowAdditions = True
AllowDeletions = True
BtnNew.Enabled = True
BtnDelete.Enabled = True
lblEditMode.Caption = "Edit Mode"
End Sub
令我震惊的是,我没有将 AllowAdditions 设置为 True,但我的标签清楚地正确显示了“编辑模式”。
【问题讨论】:
-
用户是否必须在点击 btnNew 之前点击编辑模式?我可能会在 btnNew 中编写自己的代码(而不是宏或向导代码),这样您就可以测试当用户单击 btnNew 时 AllowEditions 属性是否为真。
标签: ms-access vba ms-access-2007