MYSQL教程之创建自在的管帐日期的报表
“MySQL实际上是一个数据库家族,你可以从选择一个并将其配置成可以满足你的大多数情况,”开源顾问公司Ethiqa的总裁如此表示,“因此,你可以在开始的时候选择一个小巧的版本产品,以后再根据需要来对其进行性能或大小上的扩展。”MicrosoftAccess的报表供应按日期分组的统计,但是只能是完全的年、月、日等,也就是说好比要统计一个月的数据就必需是从月初到月尾。 我们编写程序,有很多是事情中的统计体系,而单元的各项统计又以管帐日期为准,管帐日期纷歧定从1日到31日,有的公司就是从上个月的26日到这个月的25日算一个月,如许用Access的报表导游主动天生的报表就不成了。固然,仍是我们本人下手完成吧,实在很复杂,一学就会。1.熟悉几个有关工夫的函数
2.创立让用户选择日期的窗体
3.依据用户选择的日期主动盘算期初和期末日期
4.让报表处置期初和期末之间的数据
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![选择日期]![入手下手日期]And![选择日期]![停止日期],如许报表就会只处置在“入手下手日期”和“停止日期”之间的数据了。
最初,再为你窗口增加一个启动报表的命令按钮,就半途而废了!
下图是一个报表运转的实例
这个报表的10月份,实践是9月26日至10月25日
要想在MySQL与其他数据库之间进行一个面面俱到的功能设置对比,并不是一件容易的MySQL学习教程。随着新软件版本的发布或一些补丁的推出。 以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了 理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识 一个是把SQL语句写到客户端,可以使用DataSet进行加工; 对于微软系列的东西除了一遍遍尝试还真没有太好的办法 但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右) 如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。 varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。 如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。 groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。
页:
[1]