use*_*333 2 ms-access vba textbox if-statement
我试图在访问表单打开时更改数据。此刻数据显示为 True,我想将其更改为 Yes。我已经试过了,但我是 vba 新手,我真的不知道我在做什么。我给所有的文本框都加上了“QtTxtBox”的相同标签,希望这会有所帮助,但没有。以下是我到目前为止所得到的,有人可以帮助我吗?
Dim ctlVar As Control
For Each ctlVar In Me.Controls
If ctlVar.ControlType = acTextBox Then
If acTextBox.text = "True" Then
acTextBox.text = "yes"
End If
End If
Run Code Online (Sandbox Code Playgroud)
您的问题出在您的文本框参考中。acTextBox 不是文本框。它只是显示控件类型是文本框的值。
所以,当你说' If ctlVar.ControlType = acTextBox Then '时,这是正确的。
但是当你说' If acTextBox.text = "True" Then '时,那是不正确的。您不再引用控件。它应该是 ' If ctlVar.text = "True" Then '。ctlVar 是您对控件的引用。
此外,您需要在更改值之前将焦点设置在文本框上。您的代码应如下所示:
For Each ctlVar In Me.Controls
If ctlVar.ControlType = acTextBox Then
If ctlVar.Value = "True" Then
ctlVar.Value = "yes"
End If
End If
Run Code Online (Sandbox Code Playgroud)