Access VBA - If/Else 语句不断给我一个错误,但我不知道为啥[重复]
Posted
技术标签:
【中文标题】Access VBA - If/Else 语句不断给我一个错误,但我不知道为啥[重复]【英文标题】:Access VBA - If/Else statement keeps giving me an error but I can’t figure out why [duplicate]Access VBA - If/Else 语句不断给我一个错误,但我不知道为什么[重复] 【发布时间】:2021-03-01 21:18:47 【问题描述】:我有两个子窗体(subfrmA 和 subfrmB)和一个主窗体 frmAB。在用户从主窗体上的 comboboxAB 中选择他们想要的窗体之前,这两个子窗体都是不可见的。因此,如果用户在主窗体 comboboxAB 中选择窗体 A,subfrmA 将变为可见,而 subfrmB 保持不可见。然后用户输入更改保存并退出。
但是当表单打开备份时,我希望保存记录的表单自动加载,所以我写了下面的代码。
Private Sub Form_Load ()
If Me.comboboxAB.Text = “Form A” Then
Me.subfrmA.Visible = True
Me.subfrmB.Visible = False
Me.subfrmA.SourceObject = “Form.Form A”
ElseIf Me.comboboxAB.Text = “Form B” Then
Me.subfrmB.Visible = True
Me.subfrmA.Visible = False
Me.subfrmB.SourceObject = “Form.Form B”
End If
End Sub
但是,我得到一个错误。 “运行时错误‘2185’:除非控件具有焦点,否则不能引用控件的属性或方法。”
还有代码:
If Me.comboboxAB.Text = “Form A” Then
突出显示有谁知道这是为什么?我还在平板电脑上输入了代码,所以代码中的引号看起来像智能引号,但实际上不是。
【问题讨论】:
***.com/questions/17306200/… 【参考方案1】:尝试使用 .Value 而不是 .Text ,如果我没记错的话 .Text 属性仅在聚焦时可用(这是错误消息所暗示的)。
也就是说,您可以在与被更改的组合框本身相关的 Subs 中使用 .Text,但不能在您的 Form_Load Sub 中使用,因为它与 Form 而不是 Combobox 本身相关。
【讨论】:
以上是关于Access VBA - If/Else 语句不断给我一个错误,但我不知道为啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章