Access交流中心

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

[5分]根据开始日期和截止日期将租金平分到相应月份中

张军军  发表于:2017-05-07 22:45:08  
复制

在access中怎么实现把租金按照开始日期和截止日期进行平分到相应的月份中,最后除不尽的都在最后一个月加进去

 

Top
MDZZ 发表于:2017-05-08 08:05:06
上附件看看 表是怎样的

yuhong 发表于:2017-05-08 11:04:26

用更新查询:

UPDATE 表1 SET 
表1.一月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+1 And Month([结束日期])>1-1,1,0)), 
表1.二月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+2 And Month([结束日期])>2-1,1,0)),
 表1.三月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+3 And Month([结束日期])>3-1,1,0)), 
表1.四月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+4 And Month([结束日期])>4-1,1,0)), 
表1.五月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+5 And Month([结束日期])>5-1,1,0)), 
表1.六月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+6 And Month([结束日期])>6-1,1,0)), 
表1.七月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+7 And Month([结束日期])>7-1,1,0)), 
表1.八月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+8 And Month([结束日期])>8-1,1,0)), 
表1.九月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+9 And Month([结束日期])>9-1,1,0)), 
表1.十月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+10 And Month([结束日期])>10-1,1,0)), 
表1.十一月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+11 And Month([结束日期])>11-1,1,0)), 
表1.十二月份 = ([租金总额]/Month([结束日期])-Month([开始日期]))*(IIf(Month([开始日期])<1+12 And Month([结束日期])>12-1,1,0));

最后除不尽的可以在查询一次,让最后的等于总额-上几个月的和即可



杜超 发表于:2017-05-28 08:32:37


[SQL代码]关于update set5个应用情景举例[Access软件网]



http://www.accessoft.com/article-show.asp?id=7247



几种更新(Update语句)查询的方法[Access软件网]



http://www.accessoft.com/article-show.asp?id=2277





玺罡 发表于:2017-06-12 23:12:04

可以创建查询,让各月度自动赋值,要引用用可引用查询,查询中各月列名字如下:

一月是   1月: Int(IIf(Month([起租日期])>1,0,IIf(Month([结租日期])=1,[租金],[租金]/(Month([结租日期])-Month([起租日期])+1))))

二月是   2月: Int(IIf(Month([起租日期])>2,0,IIf(Month([结租日期])=2,[租金]-[1月],[租金]/(Month([结租日期])-Month([起租日期])+1))))

三月是   3月: Int(IIf(Month([起租日期])>3,0,IIf(Month([结租日期])=3,[租金]-[1月]-[2月],[租金]/(Month([结租日期])-Month([起租日期])+1))))

以后类推,第一个大于号后面接相应月份,第一个等号后接相应月份、接小逗号,接[租金]-[1月]-[2月]-....一直减到上月为止

 上面的程序试过可行,修改表的列值为INT后面的语句应该也可以,但没试过,我这里上传附件就卡,要不就传附件了,要附件可加QQ36745972或微信,wangc1400,最后提醒,别忘了把起租日期、结租日期、租金改为你相应的字段名称(复制到Word里替换就行)。



玺罡 发表于:2017-06-12 23:25:33

附件截图效果

 小数点几位改int函数,在文档i编好再复制过去会方便一些!



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