我目前有一个锁定的表单,以防止意外编辑。但是,表单包含可能需要编辑的客户联系信息等信息。我目前有一个命令按钮,用户可以单击该按钮关闭表单并在" 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
*
答案 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字段属性。