下面这个图:
意思是 窗口2的AfterLoad事件代码有问题,你应该这么修改一下代码:
Dim te As String
If Forms("窗口1").Opened Then
With Forms("窗口1").Controls("Textbox3")
te = .Text '文本框的值写入te变量
End With
End If
If te = "" Then
e.Form.Controls("生成报价单").ForeColor.WhiteSmoke '生成报价单 按扭灰色
e.Form.Controls("生成报价单").Enabled = False '生成报价单 按扭不可用
e.Form.Controls("清除").ForeColor.WhiteSmoke '清除 按扭灰色
e.Form.Controls("清除").Enabled = False '清除 按扭不可用
Else
e.Form.Controls("生成报价单").ForeColor.black '生成报价单 按扭黑色
e.Form.Controls("生成报价单").Enabled = True '生成报价单 按扭可用
e.Form.Controls("清除").ForeColor.black '清除 按扭黑色
e.Form.Controls("清除").Enabled = True '清除 按扭可用
End If
提示: 窗口只有打开了,才能使用其中的控件,所以使用窗口1之前,要判断窗口1是否已经打开。