MS Access,Combobox,根据查询选择字段,如何加权结果字段

时间:2015-06-08 20:55:14

标签: sql ms-access ms-access-2010

我有一个数据库,根据用户输入,将填充一系列组合框。

Private Sub txtUserInput_AfterUpdate()
cbo1.RowSource = "Select txtValue from tbl1 where (txtValue=" & [Forms]![Form1]![txtValue] & ")"
cbo1.Requery
End Sub

很容易。

但我希望结果的顺序根据我指定的权重而改变。例如,我更新蓝色的每个实例首先是25%的时间,红色是前25%的时间,黄色是前50%的时间。

编辑1:

例如(谢谢基因2):

txtValue1    Blue
txtValue1    Red
txtValue1    Yellow
txtValue2    Ford
txtValue2    Dodge
txtValue3    Violet
txtValue3    Lilly
txtValue3    Poppy

当用户将txtValue1输入到txtValue时,组合框显示:

Blue
Red
Yellow

我希望每次根据我指定的概率激活框时更改该顺序。

编辑2:

所以约翰,用户第一次去表格。

Blue
Red
Yellow

用户第二次访问表单。

Red
Blue
Yellow

第三次。

Yellow
Red
Blue

第四次。

Yellow
Red
Blue

谢谢!

1 个答案:

答案 0 :(得分:1)

您必须按照指定的权重添加ORDER BY

cbo1.RowSource = "Select txtValue from tbl1 where (txtValue=" & [Forms]![Form1]![txtValue] & " ORDER BY weight)"