北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
工厂里使用较多的计量器具,这些器具都要定期检查或者校准其准确度。我想做一个“到期检定”的查询,即看一下哪些器具到期要检定了,或超过时间未检定。
其中有:[检定日期]、[检定周期(个月)]、 [下次检定日期]等字段;我用DateAdd函数在查询表里实现了[下次检定日期]的自动计算;“下次检定日期: DateAdd("m",[检定周期],[检定日期]) ”。
现我想做一个查询窗体:在文本框[输入查询日期]也即是“下次检定日期”,再选择组合框这些到期器具的[使用部门],子窗体为查询对象。当确定了两个查询条件后,点击【查询】按钮能查询显示出符合条件的查询内容。
【查询】代码(仿网上资料):
Private Sub Cmd查询_Click()
'On Error GoTo Err_cmd查询_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.使用安装地点 & "*') AND "
End If
'如果输入了条件,那么strWhere的最后肯定有" AND ",这是我们不需要的,
'要用LEFT函数截掉这2个字符。
If Len(strWhere) > 0 Then
'有输入条件
strWhere = Left(strWhere, Len(strWhere) - 2)
End If
'先在立即窗口显示一下strWhere的值,代码调试完成后可以取消下一句
Debug.Print strWhere
'让子窗体应用窗体查询
Me.到期查询子窗体.Form.Filter = strWhere
Me.到期查询子窗体.Form.FilterOn = True
'在子窗体筛选后要运行一下自编子程序CheckSubformCount()
'Call CheckSubformCount
Exit_cmd查询_Click:
Exit Sub
Err_cmd查询_Click:
MsgBox Err.Description
Resume Exit_cmd查询_Click
End Sub
但运行提示:错误“2448”,您不能将数值指定给这个对象。
请各位老师帮忙查错,或另出高招。