以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何取得日期中的月份值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45636)

--  作者:wyz20130512
--  发布时间:2014/2/7 11:05:00
--  [求助]如何取得日期中的月份值?
我在一个Excel模板文件中引用了Var变量,这个变量是一截止日期,我想取得这一日期的月份值,在Excel模板文件中如何写代码?请高手指点.谢谢!
--  作者:Bin
--  发布时间:2014/2/7 11:08:00
--  
不应该从模板下手,而是从Var变量下手,这个Var变量直接就存月份.



--  作者:wyz20130512
--  发布时间:2014/2/7 11:15:00
--  回复:(Bin)不应该从模板下手,而是从Var变量下手,这...
谢谢版主的指点.Foxtable真是一款不错的数据管理平台,使得工作变得如此轻松.我会坚持学下去.
--  作者:wyz20130512
--  发布时间:2014/2/7 12:54:00
--  回复:(Bin)不应该从模板下手,而是从Var变量下手,这...

我定义了二个Var变量,变量名: ED 数据类型: Date

                            变量名: YF 数据类型: Integer

为了取得日期值的月份值,我将YF的初始值设为: Vars("ED").Month

将Excel模板文件:

<"后厨" & [!YF] & "月经营效益汇总表">

可执行后并没有取得相应的值.这是为何?请高手指点.谢谢!


--  作者:有点甜
--  发布时间:2014/2/7 21:05:00
--  
呃,不应该,你msgbox弹出vars("YF")的值看看。

或者试试定义成string类型
[此贴子已经被作者于2014-2-7 21:05:35编辑过]

--  作者:wyz20130512
--  发布时间:2014/2/7 22:35:00
--  回复:(有点甜)呃,不应该,你msgbox弹出vars("YF")...

问题解决了,在给Var变量赋初值时,不能嵌套另一个Var变量,否则值是空的.

我通过在BeforeBuild报表事件中加入代码实现的:

If e.Book.TempLate = "后厨月兑现奖模板" Then
    Vars("YF") = Vars("ED").Month
End If

 

总之,还是感谢您的提醒.谢谢,你们的支持和鼓励是我前进的动力.


--  作者:wyz20130512
--  发布时间:2014/2/9 22:37:00
--  回复:(有点甜)呃,不应该,你msgbox弹出vars("YF")...
今天再次看帮助的VBScript参考时,看到DatePart()函数时,猛然想起可以用这个函数来处理在Excel模板文件中获取Var变量中日期的月份值,一试果然可以。(DatePart("m",[!ED])),其中的ED是日期型的Var变量。这就省去了多定义一个Var变量了,也不用在BeforeBuild中写代码了。
[此贴子已经被作者于2014-2-9 22:38:17编辑过]