MS Access中的条件表达式中的数据类型不匹配

时间:2013-01-07 18:37:39

标签: sql ms-access cascadingdropdown

我在访问中创建表单,其中我必须实现级联组合框,下部组合框中的数据取决于用户选择的父值。这是表单enter image description here

左侧的

是表格的结构,右侧是表格。问题是我收到数据类型不匹配的错误,无法理解为什么会发生这种情况。在Diametre of Drill的后期活动中,我正在填充切割速度。每当我按下切割速度下拉“标准表达式中的数据类型不匹配”时。以下是Drough Diametre

更新后事件的代码
Private Sub cboDiameterDrilling_AfterUpdate()
cboCuttingSpeedDrilling.RowSource = "Select DISTINCT tblDrilling.cuttingSpeed " & _
"FROM tblDrilling " & _
`"WHERE tblDrilling.materials = '" & cboMaterialDrilling.Value & "' AND tblDrilling.diaOfDrill = '` `cboDiameterDrilling.Value ' " & _`
"ORDER BY tblDrilling.cuttingSpeed;"

End Sub

我认为问题出现在WHERE Clause中。任何帮助将不胜感激。谢谢

2 个答案:

答案 0 :(得分:3)

你用单引号包围了对象值(cboDiameterDrilling.Value)的引用。

 AND tblDrilling.diaOfDrill = ' & cboDiameterDrilling.Value & "'"  

解决方案:AND tblDrilling.diaOfDrill = " & cboDiameterDrilling.Value & " " & _

答案 1 :(得分:0)

我想你错过了一个“。试试:

Private Sub cboDiameterDrilling_AfterUpdate()
cboCuttingSpeedDrilling.RowSource = "Select DISTINCT tblDrilling.cuttingSpeed " & _
"FROM tblDrilling " & _
`"WHERE tblDrilling.materials = '" & cboMaterialDrilling.Value & "' AND tblDrilling.diaOfDrill = '" & cboDiameterDrilling.Value & "' " & _
"ORDER BY tblDrilling.cuttingSpeed;"

End Sub