组合框VB​​A编码问题

时间:2012-05-03 22:45:02

标签: ms-access vba if-statement combobox

我正在使用Access制作学生数据库。作为我的数据库的一部分,我有一个表单,要求用户从组合框中选择一个课程。我有不同的课程术语,对应于从下拉框中选择的课程。为了保持一致性,还使用下拉框选择这些术语。

在我的代码中,我有一个After_Click事件过程,其中包含以下代码:

Private Sub Course_ID_AfterUpdate()

  If Me![Course ID] = 1 Or Me![Course ID] = 2 Or Me![Course ID] = 3 Then
  Me![Combo30].Visible = True Else: Me![Combo30].Visible = False End If

  If Me![Course ID] = 4 Then Me![Combo26].Visible = True Else:
  Me![Combo26].Visible = False End If

  If Me![Course ID] = 5 Then Me![Combo22].Visible = True Else:
  Me![Combo22].Visible = False End If

  If Me![Course ID] = 6 Then Me![Combo28].Visible = True Else:
  Me![Combo28].Visible = False End If

  If Me![Course ID] = 7 Then Me![Combo24].Visible = True Else:
  Me![Combo24].Visible = False End If

End Sub

当我第一次点击表单时,会显示所有术语下拉框。如何设置它(在VBA代码中),以便默认情况下显示与默认Term ID对应的Course ID,并隐藏其余的Term ID下拉框?

汤姆

我附上了默认Course ID的屏幕截图。请注意,所有组合框看起来都是可见的。

enter image description here

2 个答案:

答案 0 :(得分:0)

选项1 定义默认课程并在表单初始加载时,使其预先选定并显示相应的组合框 默认情况下,使其余的组合框不可见(即,在设计时将其余组合框的可见属性设置为false)

选项2 如果您没有默认课程,则默认情况下使所有术语组合框不可见。因此,最初根本没有可用的术语组合框。

答案 1 :(得分:0)

在连续的形式中,每个控件在所有记录中只存在一次。您不能在不同记录中的同一控件上使用不同的格式。只要您在一个记录中隐藏控件,它就会隐藏在所有记录中。

那些盒子里有什么?是否有机会在OnEntring事件中填入一个可以填充的组合?