隐藏其他命令按钮时允许条件编辑Access 2007-2010

时间:2015-01-06 20:42:33

标签: forms access-vba ms-access-2007

我目前有一个锁定的表单,以防止意外编辑。但是,表单包含可能需要编辑的客户联系信息等信息。我目前有一个命令按钮,用户可以单击该按钮关闭表单并在" edit"中重新打开它。模式。我希望发生的是当表单重新加载并且" save"时,页面上的所有其他命令按钮都会消失。按钮出现。单击保存按钮后,我希望表单返回到不可编辑状态,并重新显示所有命令按钮。

我目前在数据库中的另一个表单上设置了类似的东西(参见下面的代码),但这是用于添加新记录。如何为现有记录设置?除了关闭和重新打开表单之外,还有更优雅的方法吗?我已经搜索了很长一段时间,似乎无法为此找到任何东西。如果您需要有关数据库结构的更多背景信息或更多详细信息,请告诉我。谢谢你的帮助!

*

Private Sub add_Click()
On Error Resume Next
DoCmd.GoToRecord , , acNewRec
End Sub
Private Sub Form_Current()
   If Me.NewRecord Then
    Me.recordcounter.Caption = "New Record"
    Me.next.Visible = False
    Me.previous.Visible = False
    Me.first.Visible = False
    Me.last.Visible = False
    Me.add.Visible = False
    Me.save.Visible = True
   Else
    Me.recordcounter.Caption = "Record " & Me.CurrentRecord & " of " & Me.Recordset.RecordCount
    Me.next.Visible = True
    Me.previous.Visible = True
    Me.first.Visible = True
    Me.last.Visible = True
    Me.add.Visible = True
    Me.save.Visible = False
    End If
 End Sub
Private Sub save_Click()
DoCmd.save
    Me.previous.Visible = True
    Me.first.Visible = True
    Me.recordcounter.Caption = "Record " & Me.CurrentRecord & " of " & Me.Recordset.RecordCount + 1
    Me.previous.SetFocus
    Me.save.Visible = False
End Sub

*

1 个答案:

答案 0 :(得分:1)

而不是关闭并重新打开表单"编辑"模式,您可以直接在"编辑"的OnClick事件中设置您希望能够更改的字段的属性,即.locked = false和/或.enabled = true。按钮。

在"保存"的OnClick事件中按钮你只是反过来。

例如:

Private Sub EditButton_Click()
    Field1.Enabled = True
End Sub

Private Sub SaveButton_Click()
    Field1.Enabled = False
End Sub

现在,当您单击编辑按钮时,您的field1将启用输入,单击您的保存按钮后,您的field1将被禁用(即灰色并且不允许任何输入或焦点设置)。

如果您愿意只是"锁定"字段(即让它们具有焦点并且不要使它们变灰但阻止任何输入),只需使用.Locked字段属性。