access窗体中的按钮,通过触发才可以使用(就像有些软件再不可使用时,变为灰色,使其使用不了)的代码

在一个窗体下

1.我需要一个触发按钮为:当Text60中有数据时,按钮自动由灰色变为正常色,并且此时可以点击。(平常(或Text60中无数据时)该按钮为不能使用的状态,且为灰色)

2.我还需要一个触发按钮为:当”修改“按钮按下时,将”退出“按钮自动由正常色变为灰色,并且此时不可以点击。(平常这两个按钮都为正常色,处于可使用的状态)
3.我还需要一个触发按钮为:当”保存“按钮按下时,将”退出“按钮自动由灰色变为正常色,并且此时可以点击。(平常该按钮为不能使用的状态,且为灰色。只有当修改按钮按下时,才可触发该按钮使用)
请高手按顺序告之代码,十分感谢!!
  1. 设置按钮的启用属性为否,即:按钮.Enabled=false,

    在Text60的失去焦点事件中写:

    Private Sub Text60_lostFocus()
        If IsNull(Me.Text60) Then
            Me.Command1.Enabled = False
        Else
            Me.Command1.Enabled = True
        End If
    End Sub

  2. 在修改按钮的单击事件中写:

    Private Sub 修改_Click()
        Me.退出.Enabled = False
    End Sub

3.    在保存按钮的单击事件中写:

        Private Sub 保存_Click()
            Me.退出.Enabled = true
        End Sub

 

另外,我觉得你这样设置并不好,

一般是这样做的,比如第一个问题,通过设置Text60的有效性,或者代码检查是否为空做对应处理,陵颤世代码如下:

保存按钮的点击事件:

Private Sub 保存_Click()
 洞橘   If IsNull(Me.Text60) Then
        msgbox "Text60栏位不能为空,请重新输入!",vbokonly,"提醒"

        me.text60.setfocus

        exit sub

    Else
        '......保存的代码......

    End If
End Sub

第二个问题也类似,在退出的时候,检查数据是否有修改,有过有修改就提示是否需要保存,等尺肢等...

 

祝你成功!


如果你的窗体上的工作流程很简单, 只是从头到尾, 那做按钮挨个向后触发, 进行用户动作管控是可行. 但是如果一个窗体上的工作流程有多条, 不建议这样设计, 因为流程多了以后触发链会很混乱, 给你给用户都带来困扰

所以我的建议是, 在按下按钮时先检测必要条件, 比如1, 在按钮单击事件的闹野开头进行检测
if nz(Me!Text60,"") = "" then
msgbox ("游弯尘某某信息未填写, 请填写后在试!")

exit sub

end if

2 和 3 都可以用这样的思路去设计, 但是有的用户会直接点击窗体的叉叉来退出, 那神禅就会跳过退出按钮, 那你需要在窗体的卸载事件中进行检测和确认
供御隐姿镇绝参考,其它自己携迹扩展吧
Private Sub Command1_Click()
Command2.Enabled = False
End Sub

Private Sub Text1_Change()

If Trim(Text1.Text) <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If

End Sub