您现在的位置:中国下载站学院中心数 据 库Access教程Access使用实例 → 文章列表

建立自由的会计日期的报表

作者:佚名  来源:不详  发布时间:2007-4-14 12:50:28   

减小字体 增大字体

 
 
  Microsoft Access 的报表提供按日期分组的统计,可是只能是完整的年、月、日等,也就是说比如要统计一个月的数据就必须是从月初到月底。

  我们编写程序,有许多是工作中的统计系统,而单位的各项统计又以会计日期为准,会计日期不一定从1日到31日,有的公司就是从上个月的26日到这个月的25日算一个月,这样用 Access 的报表向导自动生成的报表就不成了。当然,还是我们自己动手实现吧,其实很简单,一学就会。

  1.认识几个有关时间的函数

  1.Cdate(日期表达式)

  将日期表达式转换成日期类型的数据。

  日期表达式是任何可以解释成日期的表达式,包含日期文字,可以看作日期的字符串以及从函数返回的日期。

  比如:myDate = CDate("99-5-20")  ,这样的日期表达式必须加双引号,否则结果不可预料。

  CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。

  2.Now()

  返回当前计算机系统设置的日期和时间。

  3.Year(日期表达式)

  返回表示年份的整数。

  比如:Year("00-6-15") = 2000

  4.Month(日期表达式)

  返回 1 到 12 之间的整数,表示一年中的某月。

  比如:Month("00-6-15") = 6

  5.DateAdd(interval, number, date)

  返回一个日期,这一日期加上了一段时间间隔。可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。

  DataAdd 函数参数
参数

  说明

interval字符串表达式,是所要加上去的时间间隔的单位。
number数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date日期表达式,这一日期还加上了时间间隔。

  interval 参数设定值
说明
yyyy
q
m
y一年的日数
d
w一周的日数
ww
h
n分钟
s

  比如:

  DateAdd("d",10,"2000-6-18") = 2000-06-28

  DateAdd("m",-1,"2000-6-18") = 2000-05-18

  2.创建让用户选择日期窗体

  创建一个窗体,添加以下控件:一个“年”组合框,一个“月”组合框,一个“开始日期”文本框,一个“结束日期”文本框。如果添加组合框时出现控件向导,取消向导。

  把“年”组合框的数据属性设置如上图,这样用户就只能选择1999-2002年,当然还可以再增加年份。默认值为当前日期的年份。

  和“年”组合框类似,把“月”组合框的数据属性设置如上图,这样用户就只能选择1-12月。默认值为当前日期的月份。

  3.根据用户选择的日期自动计算期初和期末日期

  在“开始日期”文本框的控件来源处填写:

  =DateAdd("m", -1, CDate([年] & "-" & [月] & "-26"))

  刚才学到的函数就用上了,这是个嵌套表达式,CDate([年] & "-" & [月] & "-26") 表示用户选择的日期的26日,整个表达式表示用户选择的日期前一个月的26日。这里的“年”和“月”都加上了[ ],表示它们是控件。

  在“结束日期”文本框的控件来源处填写:

  =CDate([年] & "-" & [月] & "-25")

  表示用户选择的日期的25日。

  这是窗体运行的效果,开始日期和结束日期是随着年和月的变化而随时更新的。

  4.让报表处理期初和期末之间的数据

  设计一个报表,在它的记录来源里选择你的表或查询,在其中涉及到日期的字段填写准则:Between [Forms]![选择日期]![开始日期] And [Forms]![选择日期]![结束日期] ,这样报表就会只处理在“开始日期”和“结束日期”之间的数据了。

  最后,再为你窗口添加一个启动报表的命令按钮,就大功告成了!

  下图是一个报表运行的实例

  这个报表的10月份,实际是9月26日至10月25日

转贴于:中国QQ站

  • 上一篇文章:用Access将XLS与MDB文件格式互相转换
  • 下一篇文章:用Access设计客观试卷
  • 阅读统计:[]
  • 中国QQ站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接