自动填充组合框

时间:2009-05-29 17:51:22

标签: ms-access combobox auto-populate

我又来了。我的表格上有3个组合框,即cmbPart_number,cmbPart_name和cmbEOnumber。

我想知道的是当用户从cmbPart_number中进行选择时cmbPart_name和cmbEO_number框是如何自动填充的。我到目前为止尝试的是在行源SQL查询和cmbpart_name的控制源中添加part_name和EO_number我已经尝试过cmbpart_name(value)= cmbpart_number.column(1)

真的很感激

2 个答案:

答案 0 :(得分:3)

您应该可以通过在AfterUpdate事件中设置RowSource来实现此目的

Private Sub cmbPart_number_AfterUpdate()

   cmbPart_name.RowSource = "...WHERE [PartNumber] = '" & _
                                                   cmbPart_number.value & "'; "
   cmbPart_name.Requery

End Sub

以下是implement cascading combo boxes in Access

的不同方法

答案 1 :(得分:0)

我知道必须有一个简单的方法来做到这一点,而不深入研究VB。我的第一个组合框即cmbPart_number,我修改如下 - Row Source在SQL查询中有所有3个字段,即SELECT part_number,part_name,EO_number from parts ORDER BY ...; 我已将列计数修改为2,因为Access始终将表中的第一列计为数字0.因此,其列0,1&所有3个领域都是2。我的列宽为1“; 0”

接下来,我将cmbPart_name的控制源修改为read = cmbpart_number.column(1)。它的行源有一个SELECT语句SELECT part_number,part_name FROM parts,ORDER BY ... 列数为1,列宽为0“; 1”

最后,对于cmbEO_number,控制源是= cmbpart_number.column(2)。行源选择语句是SELECT part_number,EO_number FROM parts ORDER BY ...列数为1且列宽为0“; 1”

这现在可以正常工作,并且在cmbPart_number框中选择的任何条目都会自动填充其他2。 感谢大家的帮助。