我正在为我的一个数据库表创建数据输入表单。对于其中一个部分,我的文本字段仅包含标题:"描述1"展示。如果用户填写了“描述1”文本框,我希望它显示“描述2”文本框。如果用户填写说明2文本框,则说明3文本框将显示,最多可显示10个说明文本框。有没有办法隐藏额外的文本框,就像在创建宏时填写信息一样?例如,当您单击创建 - >宏,只有一个下拉框供您选择操作。如果选择“打开表单”并按Enter键,则会显示另外6个带有标题的文本框。
有没有办法在表单中获得这种功能?此外,在“宏”构建器中,它会为您动态重新排列页面,是否也可以使用表单完成?
答案 0 :(得分:1)
请按照以下步骤操作:
将visible属性标记为false
为每个文本框添加OnChange
个事件。
编写VBA代码以确定是否显示或隐藏下一个控件。请注意,Me!FormControlItem.Text
仅在控件具有焦点时才可访问。
每个控件都有3个功能。
Private Sub text1_Change()
If Not Trim(Me!text1.Text) = "" Then
Me!Text2.Visible = True
Me!Label2.Visible = True
ElseIf Not Trim(Me!Text2) = "" Then
Me!Text2.Visible = True
Me!Label2.Visible = True
Else
Me!Text2.Visible = False
Me!Label2.Visible = False
End If
End Sub
Private Sub Text2_Change()
If Not Trim(Me!Text2.Text) = "" Then
Me!Text3.Visible = True
Me!Label3.Visible = True
ElseIf Not Trim(Me!Text3) = "" Then
Me!Text3.Visible = True
Me!Label3.Visible = True
Else
Me!Text3.Visible = False
Me!Label3.Visible = False
End If
End Sub
Private Sub Text3_Change()
If Not Trim(Me!Text3.Text) = "" Then
Me!Text4.Visible = True
Me!Label4.Visible = True
ElseIf Not Trim(Me!Text4) = "" Then
Me!Text4.Visible = True
Me!Label4.Visible = True
Else
Me!Text4.Visible = False
Me!Label4.Visible = False
End If
End Sub