【发布时间】:2015-10-06 13:26:03
【问题描述】:
我正在尝试设置一个具有访问权限的表单,以便根据用户从公司组合框(雇主代表或承包商)中选择的值取决于显示的合同操作组合框和条款文本框的集合。使用下面的代码,我已经能够隐藏它们,但无法让它们再次可见。
Private Sub Company_Change()
Select Case Trim(Me.Company.Text)
Case "Employers Rep"
Me.ER_Action.Visible = True
Me.ER_Action2.Visible = True
Me.ER_Clause.Visible = True
Me.ER_Clause2.Visible = True
Case "Contract"
Me.ER_Action.Visible = True
Me.ER_Action2.Visible = True
Me.ER_Clause.Visible = True
Me.ER_Clause2.Visible = True
Case Else
Me.ER_Action.Visible = False
Me.ER_Action2.Visible = False
Me.ER_Clause.Visible = False
Me.ER_Clause2.Visible = False
Me.Con_Action.Visible = False
Me.Con_Action2.Visible = False
Me.Con_Clause.Visible = False
Me.Con_Clause2.Visible = False
End Select
任何帮助将不胜感激。谢谢 A.S.H 这段代码现在可以工作了。为此Select Case Trim(Me.Company.Text)更改了此Select Case Me.Company。
【问题讨论】:
-
“我已经能够隐藏它们,但无法让它们再次可见。” - 当您再次更改当前记录的组合框时,还是当您移动到另一条记录或创建新记录时?
-
两者,我注意到代码在到达 Case Else 之前似乎没有运行任何东西 所以如果我在 Case Else 之后的任何行上将 false 更改为 true,它会生成文本框可见。
-
除了“employers rep”和“contract”之外,您的组合框中还有其他选择吗?
-
您是否检查了组合中的精确文本值:大小写字符、空格等?您需要它们与比较的字符串完全匹配。另外,试试
Select Case Trim(Me.Company.Text) -
我会将组合框更改为有两列,一列具有唯一的 ID 号,另一列带有文本,这样您的代码就不会依赖于保持相同的文本(或没有空格! ) Me.Company.Text 将更改为 Me.Company.Value