Access交流中心

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

返回月的第一天和最后一天

不务实  发表于:2009-09-10 09:02:54  
复制

 

如何自动生成象这样的表

(2月份有时有29天)

 

 

 

 

日期dbo_UA_Period_Ex
iYear iId dBegin dEnd
2009 1 2009-01-01 2009-01-31
2009 2 2009-02-01 2009-02-28
2009 3 2009-03-01 2009-03-31
2009 4 2009-04-01 2009-04-30
2009 5 2009-05-01 2009-05-31
2009 6 2009-06-01 2009-06-30
2009 7 2009-07-01 2009-07-31
2009 8 2009-08-01 2009-08-31
2009 9 2009-09-01 2009-09-30
2009 10 2009-10-01 2009-10-31
2009 11 2009-11-01 2009-11-30
2009 12 2009-12-01 2009-12-31

 

Top
麥田 发表于:2009-09-10 09:10:45

【推荐资源】[查询]用查询设置任意月份的月初月末

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

 

把上文里面的这两个查询学会了  日期的基本就不成问题了

 

 

月份的第一天和最后一天

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

 



赵文斌 发表于:2009-09-10 09:21:14

  月初的第一天:DateSerial(2009, 2, 1)

  月末:        DateAdd("m", 1, DateSerial(2009, 2, 1)) - 1

 转换成变量:DateSerial(year(日期), month(日期), 1)

             DateAdd("m", 1, DateSerial(year(日期), month(日期), 1))- 1



点燃一支烟 发表于:2009-09-10 10:21:45

Public Function Getym(rq As Date) As Date
Dim n As Integer
Dim Getyts As Integer
If ((year(rq) Mod 4 = 0 And year(rq) Mod 100 <> 0) Or year(rq) Mod 400 = 0) Then
n = 1
Else
n = 2
End If

If (n = 1 And Month(rq) = 2) Then
Getyts = 29
ElseIf (n = 2 And Month(rq) = 2) Then
Getyts = 28
End If

Select Case Month(rq)
Case 1, 3, 5, 7, 8, 10, 12
Getyts = 31
Case 4, 6, 9, 11
Getyts = 30
End Select
Getym = CDate(year(rq) & "-" & Month(rq) & "-" & Getyts)
End Function



点燃一支烟 发表于:2009-09-10 10:23:18
点燃一支烟 发表于:2009-09-10 10:25:31

返回月初第一天不成问题,反正是1号,没必要再研究,你自己弄就是,问题重点在解决返回月末,以上3楼自定义函数是返回月末,用法见4楼附件



点燃一支烟 发表于:2009-09-10 10:35:51

或直接用:

月末: DateSerial(Year([日期]),Month([日期])+1,1)-1



不务实 发表于:2009-09-10 15:43:18

谢谢,还是设最早解答的为最佳吧,对不起了



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