我正在为我的公司开发一个质量控制系统,我想把它连接到一个标签打印机,它已经被关掉了,问题就在于按钮本身。
我希望打印标签按钮仅在完成整个检查后启用并显示,我现在得到的是:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Button_label.Visible = False
Button_label.Enabled = False
End Sub
Private Sub Motor_OK_Change()
Dim ok As Boolean
ok = Motor_OK.Value
If ok = 1 Then
Button_label.Visible = True
Button_label.Enabled = True
End If
End Sub
它确实可以隐藏按钮,但是在尝试再次启用它并在进行检查时使其可见时失败。提及我尝试使用If ok = True
代替If ok= 1
这一点非常重要,我不知道这有多重要。
由于
答案 0 :(得分:0)
您没有测试这两种情况(ok = 0),也许以下情况可行:
替换:
If ok = 1 Then
Button_label.Visible = True
Button_label.Enabled = True
End If
使用:
Button_label.Visible = ok
Button_label.Enabled = ok
新解决方案:
使用Form_Current事件,而不是使用Form Before_Update事件。如果只有1条记录,您还可以使用Form_Load事件。我还建议您删除Visible属性并仅使用Enabled属性,以便用户可以看到它们的打印功能。
Private Sub Form_Current()
'button_Label.Visible = False
button_Label.Enabled = False
End Sub
使用After_Update事件
,而不是使用Motor_OK Before_UpdateeventPrivate Sub Motor_OK_AfterUpdate()
Dim ok As Boolean ' defaults to False
If IsNumeric(Motor_OK.Value) Then ok = True ' remove this statement if Motor_OM is
' alpha numeric.
If Not IsNull(Motor_OK.Value) Then ok = True ' otherwise following statement
' to avoid NULL error
'button_Label.Visible = ok
button_Label.Enabled = ok
End Sub
如果我能得到进一步的帮助,请告诉我。