无法让级联组合框工作
Posted
技术标签:
【中文标题】无法让级联组合框工作【英文标题】:Can't get the cascading combo boxes to work 【发布时间】:2015-10-23 16:01:11 【问题描述】:我正在尝试制作级联组合框,但我似乎无法让它工作。例如,如果我在第一个组合框中选择了一台特定的计算机,那么第二个组合框应该只显示与该计算机兼容的 HDD。我还提供了一个指向我创建的数据库的链接。谁能帮我解决这个问题?
我有 2 个包含字段的表:
tblComputer(计算机) tblHDD(硬盘,计算机)cboxComputer 行来源: SELECT tblComputer.Computer FROM tblComputer;
cboxHDD 行源: SELECT tblHDD.HDD, tblHDD.Computer FROM tblHDD;
Private Sub cboxComputer_AfterUpdate()
Me.cboxHDD.RowSource = "SELECT HDD " & _
"FROM tblHDD " & _
"WHERE Computer = " & Nz(Me.cboxComputer) & _
"ORDER BY HDD"
End Sub
https://drive.google.com/file/d/0Bye-M8FI1tRURmQ0MEFzRjBCdWM/view?usp=sharing
【问题讨论】:
什么不起作用? cboxHDD 没有加载吗?有错误信息吗? 很抱歉没有包括错误的内容。第二个组合框不起作用。当我选择第二个组合框时,它显示“查询表达式'Computer = SonyORDER BY HDD'中的语法错误(缺少运算符)。” 【参考方案1】:数据库中的计算机字段是字符串数据类型。尝试像这样在名称周围加上撇号:
Private Sub cboxComputer_AfterUpdate()
Me.cboxHDD.RowSource = "SELECT HDD " & _
"FROM tblHDD " & _
"WHERE Computer = '" & Nz(Me.cboxComputer) & "' " & _
"ORDER BY HDD"
End Sub
【讨论】:
我输入它并显示“编译错误:语法错误” 您还需要在结束撇号之后或单词 ORDER 之前留一个空格。我更新了我的答案以解决这个问题。 即使我在单词 ORDER 之前添加了一个空格,我仍然收到相同的错误消息。我还在结束撇号后添加了一个空格。 好的,我省略了最后一个&符号。答案已更新。 太棒了,这行得通!所以如果 cboxComputer 是数字数据,那我就不用撇号和引号了,对吗?以上是关于无法让级联组合框工作的主要内容,如果未能解决你的问题,请参考以下文章