2009-05-29 203 views
1

在这里,我再次。我的表单上有3个组合框,即cmbPart_number,cmbPart_name和cmbEOnumber。自动填充组合框

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

任何帮助,这是真正的赞赏

加入part_name和EO_number

回答

3

你应该能够在更新后事件

Private Sub cmbPart_number_AfterUpdate() 

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

End Sub 

这里设置行来源要做到这一点上不同的方式通过是一个步行到implement cascading combo boxes in Access

+0

嘿杰里米。感谢您的快速更新。我已经尝试过更新evern后的代码,但它没有奏效。我所看到的唯一行为差异是在代码之前,我可以在part_name组合框中看到值。现在我没有。 – TT1611 2009-05-29 18:08:00

0

我知道必须有做第一个简单的方法没有深入到VB。我的第一个组合框,即cmbPart_number,我修改如下 - 行源具有SQL查询中的所有3个字段,即SELECT Part_number,part_name,从零件ORDER BY ...的EO_number; 我已将列数修改为2,因为Access始终将表中的第一列计数为0.因此,它的列0,& 2适用于所有3个字段。我的列宽为1“; 0”

接下来我修改了cmbPart_name的控制源来读取= 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。 谢谢大家的帮助。