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. Never use GetDate() when comparing date timesoffsets, use SYSDATETIMEOFFSET()

    -- my current uk time is 2014-01-09 10:43:00 +0 ) = '2014-01-09 18:43:00 +08:00'; ) = '2014-01-09 02 ...

  2. B. Berland Bingo

    Lately, a national version of a bingo game has become very popular in Berland. There are n players p ...

  3. CodeForces 573A Bear and Poker

    题目链接:http://codeforces.com/problemset/problem/573/A 题目大意:此题要求一组数中的元素乘以2或者乘以3后得到的数都一样,其实就是判断这些数除去2和3这 ...

  4. ubuntu如何跑arm程序

    1. 首先确定一间配置好arm linux 交叉编译器,可以使用arm-linux-gcc. 2. 看示例代码hello.c #include<stdio.h> int add(int a ...

  5. RHEL7下安装使用TensorFlow和kcws

    0.安装依赖包 #用pip安装python科学计算库numpy,sklearn,scipysu - wget http://dl.fedoraproject.org/pub/epel/7/x86_64 ...

  6. Preferred Java way to ping a HTTP Url for availability

    I need a monitor class that regularly checks whether a given HTTP URL is available. I can take care ...

  7. 解决@media screen (自适应)IE浏览器不兼容问题

    1.解决兼容性问题 (1)页面最顶部必须定义:<!DOCTYPE html> (2)点击:下载 respond.js 文件 (3)引入<script src="respon ...

  8. NOIP-2003 加分二叉树

    题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号.每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都 ...

  9. 在网上浏览.NET的所有代码,并且让你的Visual Studio的go to definition(F12)指向在线代码

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在网上浏览.NET的所有代码,并且让你的Visual Studio的go to definition(F ...

  10. linux文件的隐藏属性:chattr

    1. 文件的隐藏属性 linux除了9个权限外,还有些隐藏属性, 使用chattr命令来设置. 使用方法: $ chattr +-=[ASacDdIijsTtu] + : 添加一个特殊參数 - :   ...