我的“添加医生”表格中有2个下拉菜单。一个是选择大学,另一个是选择部门。我想让部门(有6个列表项目)列表项目根据选择的大学(有2个列表项目)而变化。如果用户选择其他大学,我还希望选择重置部门下拉菜单。
如果选择阿尔伯塔大学,我想从部门下拉中删除“神经病学”和“物理医学与康复”。
这是我到目前为止的编码:
Private Sub cboUniversity_AfterUpdate()
On Error GoTo err_trap
If Me.cboUniversity = "University of Alberta" Then
Me.cboDepartment.RemoveItem "Neurology"
Me.cboDepartment.RemoveItem "Physical Medicine & Rehabilitation"
End If
err_trap_exit:
Exit Sub
err_trap:
MsgBox "The following error has occurred: " & Err.Number & " - " & Err.Description & " - University - After Update"
Resume err_trap_exit
End Sub
我已经尝试过在cboUniversity变化,更新后,和LostFocus事件以及对cboDepartment更改事件,虽然我没有得到任何错误信息实际上并没有删除这两个列表项“神经病学”和“物理医学与康复“来自部门下拉列表。我做错了什么或错过了什么?
如果大学下拉列表中的选择被更改,我也不知道如何重置它?
非常感谢!
答案 0 :(得分:0)
如果您的cboUniversity_AfterUpdate过程,而不是从cboDepartment中删除项目,请相应地更改cboDepartment的rowsource - 例如
Private Sub cboUniversity_AfterUpdate()
if cboUniversity = "University of Alberta" then
cboDepartment.RowSource = ... 'New ValueList, or New SQL which omits the unwanted departments
else
cboDepartment.RowSource = ...
end if
end sub
答案 1 :(得分:0)
有两种方法可以填充#2组合框。
任何一个解决方案都比RemoveItem
更有意义(我不确定存在,真的......听起来像是来自DOM
操作的东西)。