MS Access 2010 - 如何根据以前的输入以编程方式显示表单字段?

时间:2014-10-02 17:23:37

标签: forms ms-access ms-office ms-access-2010 office-2010

我有一个表单,其中第一个字段是用户将从组合框中选择的类型。我希望根据类型来显示后续字段。伪:

  if typefield == bank
      display fields 1-4
  else
      display fields 5-8

我将如何在Access 2010中执行此操作?我不确定模态会适用,因为我希望这一切形式。如果这是不可能的,那么关于解决方案的任何建议都会关闭?

2 个答案:

答案 0 :(得分:0)

如果您在表单上有所有八个字段,并且您只是希望根据" typefield"中的选项使它们可见。那么这样的事情就可以了。

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 

答案 1 :(得分:0)

您可以使用选项卡控件并将第1页上的字段1-4和第2页上的字段5-8放置在一起。通过这样做,您只需使用两个语句来选择显示哪个选项卡:

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

您可以使用对所选类型有意义的文字标记页面。