Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何实现将计算结果作为查询条件

李建树  发表于:2014-04-07 16:18:13  
复制

工厂里使用较多的计量器具,这些器具都要定期检查或者校准其准确度。我想做一个“到期检定”的查询,即看一下哪些器具到期要检定了,或超过时间未检定。

其中有:[检定日期][检定周期(个月)][下次检定日期]等字段;我用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”,您不能将数值指定给这个对象。

请各位老师帮忙查错,或另出高招。

 

 

 

Top
李建树 发表于:2014-04-07 16:23:53

上面所说,有些长。

简单地说:

在查询做了个“日期1+数值=日期2”,现把“日期2”做为查询窗口的查询条件(输入日期值),运行【查询】代码时,出错提示:“您不能将数值指定给这个对象

” 。这是因为把“日期2”破坏了,造成的吗?或有其它办法实现这一功能?



小赵 发表于:2014-04-07 22:20:03
上传示例吧。肯定是查询条件出错了。

李建树 发表于:2014-04-08 08:48:49

问题已经解决。

谢谢关心此贴的朋友。



总记录:3篇  页次:1/1 9 1 :