QV在日期的选择上不是很灵活,日期区段的选择可以在列表框中直接用鼠标拖拉区段,如果跨周期比较长了还是不是很方便啦。

下面介绍的方式是完全实现了起始日期的选择功能。

注:日期这个字段在抽取的时候一定要格式化成统一的格式,我这里统一都用YYYY-MM-DD这个格式!

相关的VBScript代码如下:

'调用日期处理函数 wilson 2011.08.17 修改
'调用方法,新建一个按钮---操作---新增--外部--执行宏--宏名称里填写 XF_CREATETIME即可。同一qvw文件下可以多个调用了哦。多加一个执行函数改变下date参数就可以。

function XF_CREATETIME
call BeginToEndDate("Date")
end function

function XF_STOREDS_TXDATE
call BeginToEndDate("XF_STOREDS_TXDATE")
end function

'时间段处理函数
function BeginToEndDate(Column)
Set daystart=ActiveDocument.Variables("StartDate")
Set dayend=ActiveDocument.Variables("EndDate")
Dim startstring,endstring,rangstring,differ
daystart=daystart.Getcontent.string
dayend=dayend.Getcontent.string
startstring=">="&daystart
endstring="<="&dayend
differ= DateDiff("d",daystart,dayend)
If Differ<0 then
msgbox "结束日期应该在开始日期以后!",,"错误提示:"
Else
rangstring=startstring&endstring
'msgbox rangstring
Set f=activedocument.fields(Column)
'一定要清空一下日期选择 否则只会在上次查询的结果中查询 具体是只清空选择的时间字段 还是clearall 可以依据自己的需要来设置
f.Clear
f.select rangstring
End if
end function

实现界面及相关控件设置:

一、定义了四个变量。

二、2个日历控件分别向变量SDate和EDate赋值,StartDate和EndDate分别格式化变量的值(图片太大了,可以直接在图片上点右键属性获取图片URL,然后新窗口打开看大图)。

如果结束日期在开始日期之前则提示错误。

日历变量赋值和格式相关设置。

QVW中实现日期区间的选择功能!的更多相关文章

  1. 【转】C/C++中的日期和时间 TIME_T与STRUCT TM转换——2013-08-25 16

    http://www.cnblogs.com/Wiseman/archive/2005/10/24/260576.html 摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的 ...

  2. Solr中的日期/时间表示

    摘要: Solr的日期字段(TrieDateField 和DateRangeField)可以对一个时间点以毫秒精度表示. 格式 Solr中的日期有很严格的格式限制: YYYY-MM-DDThh:mm: ...

  3. mysql 获取指定日期到指定日期 区间段的日期

    第一种方法: cross join (就相当于mysql中的循环) CROSS JOIN 把两张表中的数据进行 N * M的组合,即笛卡尔积 这里的两张表利用 union all都有5条数据,所以进行 ...

  4. python实现以立春为起点n为周期任意日期所在的日期区间

    python实现以立春为起点n为周期任意日期所在的日期区间 需求 话不多说,直接上具体需求. ''' 以每年的立春作为起始点,每N天为一个单元,任给一个日期,返回该日期所在单元的起始和结束日期.例如: ...

  5. [转载]SQL语句中的日期计算

    1. 本月的第一天SELECT  DATEADD(mm,  DATEDIFF(mm,0,getdate()),  0) 2. 本月的最后一天SELECT  dateadd(ms,-3,DATEADD( ...

  6. 在Extjs中对日期的处理,以及在后端数据在SQL语句的判断处理

    jsp页面可选择时间: { xtype : 'datefield', id : 'START_CREATION_DATE_', format : 'Y-m-d H:i:s', submitFormat ...

  7. 在MonthCalendar控件中选中日期

    Calendar.MONTH Calendar now=Calendar.getInstance();System.out.print(now.get(Calendar.MONTH));得到的月份少1 ...

  8. Struts2中Date日期转换的问题

      今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforC ...

  9. Sql 获取日期区间

    获取制定日期区间 declare @d as date declare @d2 as date set @d = '2014-06-03' set @d2 ='2014-06-10' ),datead ...

随机推荐

  1. Off-by-one错误

    在迭代循环中,误用> < ≥ ≤符号,有可能导致循环次数多一次或者少一次,就会引发off-by-one错误,混用半开区间和闭区间时,也经常发生此类错误,解决方法是利用最小的输入值去测试代码 ...

  2. HW4.26

    public class Solution { public static void main(String[] args) { double sum; double item; for(int i ...

  3. Linux开机自动挂载Windows分区

    使用Linux的朋友肯定都不会对本文所谈的内容陌生,在Linux系统里,通常不会开机自动挂载Windows文件系统下的分区.Ubuntu系统下要点击Windows分区才会挂载,Fedora下则甚至要输 ...

  4. [TopCoder] SRM_594_DIV2.250

    好长一段时间没写博客了,实在是想不出有什么好写的.近期也有对自己的职业做了一点思考,还是整理不出个所以然来,很是烦躁 ... 研究TopCoder已经有一小段时间了,都是在做之前的题目,还没有实际参加 ...

  5. cpp

  6. hdoj 1166 敌兵布阵【线段树求区间最大值+单点更新】

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. php 链接access数据库

    php链接access数据库代码 <?php $odbc = "Driver={Microsoft Access Driver (*.mdb)};Dbq=".realpath ...

  8. JOptionPanel类的解析

    JOptionPane类提示框的一些常用的方法 XMLOracleSwing  最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理 ...

  9. WindowsService的调试方法

    本人转载:http://www.cnblogs.com/xiebin1986/archive/2011/12/15/2288893.html 调试WindowsService,以前用过一个附加到进程的 ...

  10. trace 日志

    关闭 ORACLE trace 日志功能  alter system set trace_enabled=false  select * from v$parameter where NAME lik ...