根据组合框选择更改访问表单字段
Change Access form fields based on combo box choice
我有一个访问表单,用户可以在其中输入数据以进行记录。
There is a status field that has a combo box with certain values and What I want to happen is that when option 2 is selected, some of the fields change.
例如:
field1, field2 and field3 exist / are visible by default (with option1)
user chooses option2
field1, field2 and field3 are replaced with field4, field5 and field6
我知道这是隐藏字段 1、2 和 3 并显示字段 4、5 和 6 的情况,但我不知道如何实现它 - 如何实现?
编辑:
Johnny Bones 的回答是正确的,但它引起了我的注意,这是我没有意识到的另一种行为。
首先,代码工作正常,正确的字段按预期消失和出现。然而,我没有意识到会发生的是,当我离开 record1
时,新可见的字段(在 record1
出现的 Option2
下)对所有其他记录仍然可见.
如何设置系统,以便在用户导航到新记录时,field1
、field2
和 field3
正常显示,field4
, field5
和 field6
是隐藏的(这是 / 应该是默认视图)。
如何实现?
更新:
我解决了这个问题 - 我在表单的 OnCurrent
属性 上添加了一些代码来读取 Options
字段中的任何值并显示和隐藏每个 field
相应的值。
这里确实有 2 个选项,这取决于您的表单设置方式。您可以使一些可见而另一些不可见,或者只使用 3 个通用框。如果您的表单绑定到 table,则您只能使用选项 1。如果未绑定(IMO,这是正确的方法,因为它给您 much 更灵活),你可以使用任何一个。
如果你的表单是绑定的,你只需要在下拉框的AfterUpdate事件中添加一些代码:
If Me.MyDropdownName.Value = "Option 2" Then
Me.txtTextbox1.Visible = False
Me.txtTextbox2.Visible = False
Me.txtTextbox3.Visible = False
Me.txtTextbox4.Visible = True
Me.txtTextbox5.Visible = True
Me.txtTextbox6.Visible = True
Else
Me.txtTextbox1.Visible = True
Me.txtTextbox2.Visible = True
Me.txtTextbox3.Visible = True
Me.txtTextbox4.Visible = False
Me.txtTextbox5.Visible = False
Me.txtTextbox6.Visible = False
Endif
您只需将 Textbox4 直接放在 Textbox1 的顶部,将 Textbox5 直接放在 Textbox2 的顶部,将 Textbox6 直接放在 Textbox3 的顶部。
如果表单未绑定,那么您将添加代码,首先检查下拉列表的值,然后将文本框中的值写入适当的字段。
我有一个访问表单,用户可以在其中输入数据以进行记录。
There is a status field that has a combo box with certain values and What I want to happen is that when option 2 is selected, some of the fields change.
例如:
field1, field2 and field3 exist / are visible by default (with option1)
user chooses option2
field1, field2 and field3 are replaced with field4, field5 and field6
我知道这是隐藏字段 1、2 和 3 并显示字段 4、5 和 6 的情况,但我不知道如何实现它 - 如何实现?
编辑:
Johnny Bones 的回答是正确的,但它引起了我的注意,这是我没有意识到的另一种行为。
首先,代码工作正常,正确的字段按预期消失和出现。然而,我没有意识到会发生的是,当我离开 record1
时,新可见的字段(在 record1
出现的 Option2
下)对所有其他记录仍然可见.
如何设置系统,以便在用户导航到新记录时,field1
、field2
和 field3
正常显示,field4
, field5
和 field6
是隐藏的(这是 / 应该是默认视图)。
如何实现?
更新:
我解决了这个问题 - 我在表单的 OnCurrent
属性 上添加了一些代码来读取 Options
字段中的任何值并显示和隐藏每个 field
相应的值。
这里确实有 2 个选项,这取决于您的表单设置方式。您可以使一些可见而另一些不可见,或者只使用 3 个通用框。如果您的表单绑定到 table,则您只能使用选项 1。如果未绑定(IMO,这是正确的方法,因为它给您 much 更灵活),你可以使用任何一个。
如果你的表单是绑定的,你只需要在下拉框的AfterUpdate事件中添加一些代码:
If Me.MyDropdownName.Value = "Option 2" Then
Me.txtTextbox1.Visible = False
Me.txtTextbox2.Visible = False
Me.txtTextbox3.Visible = False
Me.txtTextbox4.Visible = True
Me.txtTextbox5.Visible = True
Me.txtTextbox6.Visible = True
Else
Me.txtTextbox1.Visible = True
Me.txtTextbox2.Visible = True
Me.txtTextbox3.Visible = True
Me.txtTextbox4.Visible = False
Me.txtTextbox5.Visible = False
Me.txtTextbox6.Visible = False
Endif
您只需将 Textbox4 直接放在 Textbox1 的顶部,将 Textbox5 直接放在 Textbox2 的顶部,将 Textbox6 直接放在 Textbox3 的顶部。
如果表单未绑定,那么您将添加代码,首先检查下拉列表的值,然后将文本框中的值写入适当的字段。