Excel VBA:之前,之后或更改事件为combobox自动更新另一个?

在我的用户表单中,我有几个combobox:承包商,产品,类别,单位。 他们都充满了来自MS SQL数据库(2012)的数据,然后用户表单执行一个存储过程并插入新的logging。 我想build立一个dynamic的表单,其中combobox将根据之前的combobox的select自动更新。

当从列表中select一个承包商时,我希望产品列表缩小范围,只显示与外部链接的产品(使用SELECT语句)。 然后我希望类别和单位根据所选产品自动填充。 当然,例如,当input新产品时,将显示类别和单元combobox中的完整列表,因此这将需要if语句。

我的问题是使用哪个事件? 在更新或更改事件之前? 或者也许有其他的select来做到这一点?

我做了一些关于这些事件的阅读,看来改变事件并不是一个好的select:“避免创build两个或多个控件,其中包含相互影响的更改事件 – 例如,两个文本框相互更新”,但我是没有足够的感觉,因为我还没有使用之前/之后的事件。 如果到目前为止我所做的任何代码可能是相关的,请让我知道,我会编辑post。

谢谢你的任何build议。

这听起来像改变的方向只是一种方式。 从你所描述的,你不会有两个combobox相互改变的问题,因为承包商改变产品,产品改变类别和单位。 只要产品的_Change事件不会改变承包商(它可以触发_Change事件,导致一系列_Change事件调用),那么你也可以。 与产品类别和产品单位关系一样。

Interesting Posts