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 - 如何根据以前的输入以编程方式显示表单字段?的主要内容,如果未能解决你的问题,请参考以下文章

将 MS Access 2000 转换为 2010

使用表单过滤交叉表查询 MS Access 2010

如何将 java 连接到 Ms Access 2010?

MS Access 表单:添加表格/网格视图

如何在 MS Access 2010 中将 ACCDB 转换为 MDB

MS Access 2010 vba 查询