更新另一个组合框后的组合框重新查询
Posted
技术标签:
【中文标题】更新另一个组合框后的组合框重新查询【英文标题】:Combox Requery after Update of Another Combobox 【发布时间】:2014-04-04 20:43:17 【问题描述】:我有 2 个组合框,一个用于 Region,一个用于 District(cboRR 和 cboDD)。我试图让 cboDD 组合框仅显示所选区域中的地区。到目前为止,我尝试的是在 cboRR 中添加一个 AfterUpdate,其中包含一个包含所有 RRDD 组合的长 IF 语句,并让 cboDD 具有一个 OnClick Requery。我已经尝试了这些的各种组合,但到目前为止没有任何效果。有什么想法为什么我不能让它工作吗?
AfterUpdate 的 if 语句是:
Public Sub AfterUpdate()
If cboRR = "03" Then
cboDD = "03" & ";" & "12" & ";" & "13" & ";" & "30" & ";" & "46" & ";" & "55" & ";" & "56" & ";" & "76" & ";" & "86" & ";" & "92" & ";" & "95"
Else
cboDD = " "
End If
If cboRR = "07" Then
cboDD = "07" & ";" & "17" & ";" & "20" & ";" & "27" & ";" & "32" & ";" & "33" & ";" & "36" & ";" & "40" & ";" & "44" & ";" & "45" & ";" & "49" & ";" & "64"
Else
cboDD = " "
End If
If cboRR = "10" Then
cboDD = "17"
Else
cboDD = " "
End If
If cboRR = "12" Then
cboDD = "12" & ";" & "97"
Else
cboDD = " "
End If
If cboRR = "13" Then
cboDD = "02" & ";" & "04" & ";" & "21" & ";" & "41" & ";" & "45" & ";" & "46"
End Sub
【问题讨论】:
什么不起作用?您的更新后功能不起作用吗?您是否在更改事件中正确触发它? 嗯,更改不起作用,我没有收到任何错误消息。我更改了地区,但我仍然列出了所有可能的地区,而不仅仅是那些地区。 您能说明如何将 Change 事件与 AfterUpdate 函数联系起来吗? 上面的代码是我在 cboRR 组合框中为 AfterUpdate 设置的。 你确定 AfterUpdate 被调用了吗?如果没有,请说明您是如何尝试调用它的。 【参考方案1】:创建一个表格,列出您的第一个组合框区域的所有可能选项。然后为您的地区创建第二个表,其中有一列将所有适用的地区用管道符号分隔,如 |01|02|。然后创建一个查询,查看您的第一个组合中的值,条件设置为:
Like "*|" & [Forms]![YourForm]![MyFirstComboBox] & "|*"
【讨论】:
这不是标准解决方案。 我试图让这个尽可能简单,后台的活动越少越好。这将被我以外的人使用。因此,出错的次数越少,他们的生活就会越轻松。我非常感谢您的意见,并将研究这种方法。以上是关于更新另一个组合框后的组合框重新查询的主要内容,如果未能解决你的问题,请参考以下文章