我的“添加医生”表单中有两个下拉列表。一个用于选择大学,另一个用于选择系。我想让系(有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 Change、AfterUpdate和LostFocus事件以及cboDepartment Change事件上尝试过它,虽然我没有收到任何错误消息,但它实际上并没有从部门下拉列表中删除两个列表项“神经病学”和“物理医学和康复”。我做错了什么或遗漏了什么?
我也不知道如何让它重置,如果在大学下拉列表中的选择发生了变化?
非常感谢!
发布于 2013-12-24 04:53:42
如果您的cboUniversity_AfterUpdate过程不是从cboDepartment中删除项,而是相应地更改cboDepartment的行源-例如
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发布于 2013-12-24 04:54:15
有两种方法可以填充#2组合框。
任何一种解决方案都比RemoveItem更有意义(我不确定它是否存在,真的……听起来像是来自DOM操作)。
使用说明可能会有所帮助:access.mvps.org/access/forms/frm0028.htm
https://stackoverflow.com/questions/20749150
复制相似问题