Access交流中心

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

一个要求指定日期的本月合计与本年累计,高手帮忙

11123  发表于:2012-03-10 20:53:58  
复制

有表(ku),结构及数据如下
日期        付款      数量
2012-1-6    现金      101.00               
2012-1-15   赊销      102.00               
2012-1-21   现金      103.00               
2012-2-2    赊销      104.00               
2012-2-6    赊销      105.00               
2012-2-7    现金      106.00               
2012-3-1    现金      107.00  

 

如何根据输入日期(可以为一个窗体中日期,或者在查询中填入数据)生成符合条件的查询

要求:本日数量为与输入的日期一致的数据;本月数量要求月初至输入的日期的本月合计数量

     本年数量为年初到输入日期之间的年度合计数量

如输入:2012-2-7,需要生成的查询如下:

 

付款         本日数量           本月数量    本年数量
现金         106.00             106.00      310.00               
赊销                            209.00      311.00   

 

Top
煮江品茶 发表于:2012-03-10 21:27:15

混淆的一塌糊涂了吧?

 

现金付款对应采购,赊销对应销售;现金归属货币资金,赊销构成的是应收账款。全然已经不是风马牛了,整个就是驴唇对狗嘴了。



零智 发表于:2012-03-10 21:42:05

就是format处理日期型数据的问题【测试环境在VBA中,其它地方可能体现形式会不一样】:

 

1、本日最容易人,就不扯它了:=date()。

 

2、本月条件:就是大于等于当月第一天和小于等于当月最后一天;第一天容易取得,当天已经知道年月信息,把日信息改成1就行【用format函数实现不难:=Format([开始日期],"yyyy-m-") & 1;最后一天有几个变数2月是28?29?其它月份是30?31?如果挂着这个想法考虑比较烦【网上也有解决的函数代码】,但换一种方式考虑就简单了,下个月的第一天减一天就是这个月的最后一天了【DateValue (Format(Date, "yyyy-") & Format(Date, "m") + 1 & "-1") - 1】。

 

3、本年条件:就是大于等于当年第一天和小于等于当年最后一天。这比月简单了,第一天就是1月1日最后一天就是12月31日,很久都不会发生变化的。【参照第2项解决】



零智 发表于:2012-03-10 21:52:31

“现金付款对应采购,赊销对应销售;现金归属货币资金,赊销构成的是应收账款。全然已经不是风马牛了,整个就是驴唇对狗嘴了。”

 

---也许是对的,但解决客户的问题方法要符合客户需要;中国这么大,各地的风俗叫法可不一定全国统一【汽车刹车鼓:有叫轮鼓,有叫锅等等,谁对谁错呢?】;风吹不吹马牛,驴唇对不对狗嘴得客户说了才算数。特别是对待在人之下的务工群体,很多的时间都在解决或应对领导错误的问题。



11123 发表于:2012-03-10 22:09:19

谢谢零智老师的答复:

    零智老师不仅热情,而且能善解人意,我说的本月合计,可能说不够明白你误会了。是从本月初到我需要统计的那一天的时间段的合计,比如2012-2-7,是想统计2012-2-1至2012-2-7的数据,但不包括2012-2-7后边的2月份的数据,

    不知道零智能否帮忙给写个代码?

    其他的回复不敢做评价了,来这论坛是想解决问题的,不是来玩文字游戏的,想搞笑也不这地方。呵呵

 



零智 发表于:2012-03-11 00:43:06

我知道你的意思,你合计的问题点就在控制取时间段。这个问题解决了,就容易了。

 

“本月初到我需要统计的那一天的时间段的合计,比如2012-2-7,是想统计2012-2-1至2012-2-7的数据,但不包括2012-2-7后边的2月份的数据”

这更简单了,只是电脑条件暂时不允许,所以只能先给建议。



11123 发表于:2012-03-11 11:42:36

谢谢零智老师的答复!



wsl 发表于:2012-03-11 12:14:43
wsl 发表于:2012-03-11 15:41:39

上面那个是窗体带查询的,这个是纯查询的。

点击下载此附件



11123 发表于:2012-03-11 19:49:30

WSL:

   谢谢帮助,但我这里不能运行,提示"表达式中format函数没有定义",请问该如何处理?

   还有我能否在窗体中只输入一个日期,即我想统计(即截止)的日期.比如输入2012-2-7,那么月初数据就是2012-2-1,年初就是2012-1-1;如果输入2012-7-18,月初就是2012-7-1,年初还是2012-1-1



11123 发表于:2012-03-11 20:19:52

问题找到了。我的程序少了一个MSCOMCT2.OCX文件,注册一下好了。而且WSL老师设置的窗口也很对,不用输入月初和年初数值(窗口运行后,隐藏了),谢谢了。非常符合的要求

在此非常感谢零智和WSL两位老师. 谢谢你们的无私帮助!!!



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