ms Access根据另一种形式的其他组合框填充一种形式的组合框

时间:2018-12-06 14:03:06

标签: forms ms-access combobox

我正在尝试根据另一种形式的另外3个组合框选择以一种形式填充组合框。 我设法解决了一个问题。

我正在使用的代码是:

Private Sub Command715_Click()
DoCmd.OpenForm "SCPrices"

Forms!SCPrices![QuoteRef] = Me![Quote Ref]
Forms!SCPrices![Combo285] = Me![Scope 1] & Me![Scope 2] & Me![Scope 3]
End Sub

它确实可以正常工作,但是它将其他三个组合框的值设为1 例如: 范围1被选为CCTV, 选择范围2作为CAD, 范围3被选为调查。

我得到的Combo285值是“ CCTVCADSurvey”,而不是个人选择。

我应该使用什么代替&登录代码以获得所需的结果? 谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

在MS Access中,“&”将串联值。如果要创建一个值列表以填充组合框,则必须将这些值连接起来,但也要用“;”分隔。如果值不是字符串,则可能需要将其包装在Cstr()中。

但是,您不能仅将组合框设置为字符串,Access不会将其转换为有效的行源,您只会获得一个由您定义的字符串组成的值。

要设置行源,必须指定行源属性本身。这样的事情应该起作用,尽管就我个人而言,我会通过OpenArgs传递值以在打开的表单中使用(通常是因为我要对值做更多的事情,然后才设置属性)。

但是,这种方法也可行:

Forms!SCPrices![Combo285].RowSource = Me![Scope 1] & ";" & Me![Scope 2] & ";" & Me![Scope 3]