Office中国论坛/Access中国论坛

标题: 如何将一段日期中的每一天和星期写入表 [打印本页]

作者: kent_73    时间: 2011-12-1 16:42
标题: 如何将一段日期中的每一天和星期写入表
如何将一段日期中的每一天和星期写入表?
下面这段有问题,请大大帮我改改。

For i = 1 To DateDiff("d", Me.开始日期, Me.结束日期)
DoCmd.RunSQL "insert into Tb_日历(日期,星期) values('" & Me.开始日期 & "'+" & i & " ,weekday('" & Me.开始日期 & "'+" & i & "))"
Next

作者: pq318    时间: 2011-12-1 18:06
我用的Formate(Right(Me.开始日期,2)+i,"00"),可以试试,
作者: andymark    时间: 2011-12-1 20:04
有这个必要吗,查询的是时候转换不行?
作者: kent_73    时间: 2011-12-2 08:13
pq318 发表于 2011-12-1 18:06
我用的Formate(Right(Me.开始日期,2)+i,"00"),可以试试,

不行啊
作者: kent_73    时间: 2011-12-2 08:17
andymark 发表于 2011-12-1 20:04
有这个必要吗,查询的是时候转换不行?

需要做个工厂日历,很多休息日都不和国家同步的。
作者: kent_73    时间: 2011-12-2 08:19
问题解决了
作者: kent_73    时间: 2011-12-2 08:59
kent_73 发表于 2011-12-2 08:19
问题解决了

以为解决了,当i运行至10时,还是出现错误
我的代码是这样的:
For i = 1 To DateDiff("d", Me.开始日期, Me.结束日期)
DoCmd.RunSQL "insert into Tb_日历(日期,星期) values('" & Me.开始日期 & "'+'" & i & "' ,WeekdayName(weekday('" & Me.开始日期 & "'+'" & i & "')))"
Next


[attach]47509[/attach]
作者: sgrshh29    时间: 2011-12-2 09:21
dim i as date
For i = Me.开始日期 to Me.结束日期
DoCmd.RunSQL "insert into Tb_日历(日期,星期) values(i ,WeekdayName(weekday(i))"
Next

作者: pq318    时间: 2011-12-2 09:27
access的数据排列是1,11,101,2,21,201这样来的,比较烦,另外,到了十进位到个位数的,我是用Formate函数解决,各位大侠要是有好的方法请赐教
作者: kent_73    时间: 2011-12-2 09:34
sgrshh29 发表于 2011-12-2 09:21
dim i as date
For i = Me.开始日期 to Me.结束日期
DoCmd.RunSQL "insert into Tb_日历(日期,星期) valu ...

这次真的解决了。
谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3