我又来了。我的表格上有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)
真的很感激
答案 0 :(得分:3)
您应该可以通过在AfterUpdate事件中设置RowSource来实现此目的
Private Sub cmbPart_number_AfterUpdate()
cmbPart_name.RowSource = "...WHERE [PartNumber] = '" & _
cmbPart_number.value & "'; "
cmbPart_name.Requery
End Sub
的不同方法
答案 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。 感谢大家的帮助。