我有一个MS Access 2010表单,其中有一个名为cbxClass的组合框和另一个名为cbxCourse的组合框+另一个名为cbxInstitute的组合框。现在,表格通过选择研究所来工作,并且cbxCourse中的所有值根据研究所的变化而变化。 cbxClass也是如此,组合框内的值根据研究所的不同而变化。基本上cbxClass值根据属于该机构的类而变化,现在的问题是,我希望用户能够从cbxClass中选择类,一旦这个事件发生,cbxCourse的选定值就会根据课程注册的课程....一个课程只能注册一门课程,所以只有一个选项,我想在用户从下拉菜单中选择课程时自动选择。
我对MS访问很新,我通常在处理其他事情,而且在配置宏时我没有多少经验。
答案 0 :(得分:0)
为您的组合框cbxClass创建OnLostFocus事件并添加
cbxCourse.value = findCourse(cbxClass.value)
。
findCourse
将是一个函数,它将相应的课程返回给定的课程,因为只有您知道哪个课程属于给定的课程。每次你离开cbxClass组合框时都会调用它。您也可以使用OnChange事件,然后每次在cbxClass组合框中更改内容时都会执行它。
如果单击cbxClass控件并打开控件属性,应该有一个名为“Events”的选项卡或类似的东西,我只用德语。在该选项卡中应该有OnLostFocus,OnChange,OnAfterUpdate等事件。双击你想要使用的那个,你应该看到这样的事情:
Option Compare Database
Option Explicit
Private Sub cbxClass_AfterUpdate()
End Sub
然后只需添加上面的语句并在AfterUpdate事件之外添加你的findCourse函数,如下所示:
Option Compare Database
Option Explicit
Private Function findCourse(selectedClass as String) As String
'// do your stuff here
'// and return your course by using the following:
findCourse = "theFoundCourse"
End function
Private Sub cbxClass_AfterUpdate()
cbxCourse.value = findCourse(cbxClass.value)
End Sub