MS Access 2010 - 如何根据以前的输入以编程方式显示表单字段?
Posted
技术标签:
【中文标题】MS Access 2010 - 如何根据以前的输入以编程方式显示表单字段?【英文标题】:MS Access 2010 - How to display form fields programmatically based on previous input? 【发布时间】:2014-10-02 17:23:36 【问题描述】:我有一个表单,其中第一个字段是用户将从组合框中选择的类型。我希望根据类型显示后续字段。伪:
if typefield == bank
display fields 1-4
else
display fields 5-8
我将如何在 Access 2010 中执行此操作?我不确定模态是否适用,因为我想要这一切都是一种形式。如果这是不可能的,任何关于接近解决方案的建议?
【问题讨论】:
什么是fields
?控制?那么用户在combobox中选择了一些东西后,显示一些控件,如果没有选择,只显示其他控件?
【参考方案1】:
如果表单上有所有八个字段,并且您只想根据“类型字段”中的选择使它们可见,那么这样的事情就可以了。
If me.typefield.value = bank Then
Me.field5.Visible = False
Me.field6.Visible = False
Me.field7.Visible = False
Me.field8.Visible = False
Me.field1.Visible = True
Me.field2.Visible = True
Me.field3.Visible = True
Me.field4.Visible = True
Else
Me.field1.Visible = False
Me.field2.Visible = False
Me.field3.Visible = False
Me.field4.Visible = False
Me.field5.Visible = True
Me.field6.Visible = True
Me.field7.Visible = True
Me.field8.Visible = True
End if
您当然可以只有 4 个文本框,您可以根据他们的选择更改控制源和标签....
IF me.typefield.value = bank then
Me.textbox1.ControlSource = "field1"
Me.label1.Caption = "field1 or whatever"
' repeat for the other 3
Else
Me.textbox5.ControlSource = "field5"
Me.label5.Caption = "field5 or whatever"
' repeat for the other 3
End if
【讨论】:
在不确切知道 OP 想要做什么的情况下如何回答这个问题? 我可能含糊不清,但 TBair8 做到了。谢谢。【参考方案2】:您可以使用选项卡控件并将字段 1-4 放在第 1 页上,将字段 5-8 放在第 2 页上。通过这样做,您只需要使用两个语句来选择显示哪个选项卡:
Private Sub TypeCombo_Click()
If [Type].Text = "bank" Then
Page2.Visible = False
Page1.Visible = True
Else
Page1.Visible = False
Page2.Visible = True
End If
End Sub
您可以使用对所选类型有意义的文本标记页面。
【讨论】:
以上是关于MS Access 2010 - 如何根据以前的输入以编程方式显示表单字段?的主要内容,如果未能解决你的问题,请参考以下文章