为什么以上都不行,其实我的问题是,我要做一筛选,原数据表中有价格,我想做价格从某值到某值的筛选,数据表中价格是货币类型,而窗体中供输入最小价格和最大价格的是文本框,我必须将文本框中的文本转化为数字或货币,才能比较,不知怎么回事,就是不行.
Private Sub 筛选_Click()
Dim strWhere As String '定义条件字符串
strWhere = "" '设定初始值-空字符串
If Not IsNull(Me.[物品名称]) Then
strWhere = strWhere & "([物品名称] like '*" & Me.物品名称 & "*') AND "
End If
If Not IsNull(Me.[规格型号]) Then
strWhere = strWhere & "(([型号] like '*" & Me.规格型号 & "*') or ([规格] like '*" & Me.规格型号 & "*')) AND "
End If
If Not IsNull(Me.[保修期]) Then
strWhere = strWhere & "([保修期] like '*" & Me.保修期 & "*') AND "
End If
If Not IsNull(Me.[低价格]) Then
strWhere = strWhere & "([维修报价] >= val(Me.低价格)) & ) AND "
End If
If Not IsNull(Me.高价格) Then
strWhere = strWhere & "([维修报价] <= val(Me.高价格)) & ) AND "
End If
If Len(strWhere) > 0 Then
'有输入条件
strWhere = Left(strWhere, Len(strWhere) - 5)
End If
Me![备件查询 子窗体].Form.Filter = strWhere
Me![备件查询 子窗体].Form.FilterOn = True
Me![备件查询 子窗体].Form.OrderBy = "[统一物品清单ID]"
Me![备件查询 子窗体].Form.OrderByOn = True
End Sub