1

我又来了。我的表单上有 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)

对此的任何帮助都非常感谢

4

2 回答 2

3

您应该可以通过在 AfterUpdate 事件中设置 RowSource 来做到这一点

Private Sub cmbPart_number_AfterUpdate()

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

End Sub

这是在 Access 中实现级联组合框的不同方法的演练

于 2009-05-29T18:00:54.240 回答
0

我知道必须有一种简单的方法来做到这一点,而无需深入研究 VB。我的第一个组合框,即 cmbPart_number,我进行了如下修改 - 行源在 SQL 查询中具有所有 3 个字段,即 SELECT part_number、part_name、EO_number from parts ORDER BY...;我已将列数修改为 2,因为 Access 始终将表中的第一列计为数字 0。因此,所有 3 个字段的列 0,1 和 2。我的列宽是 1";0"

接下来我将 cmbPart_name 的控制源修改为 =cmbpart_number.column(1)。它的行源有一个 SELECT 语句 SELECT part_number, part_name FROM parts, ORDER BY... Column Count is 1 and Column Width is 0";1"

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

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

于 2009-05-29T19:42:32.287 回答