以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在Word文档报表中如何设置时间格式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67214)

--  作者:wumingrong1
--  发布时间:2015/4/20 12:10:00
--  [求助]在Word文档报表中如何设置时间格式
我在某Word格式的报表中,有两个来自同一列【故障处理派单时间】其格式为:2015-04-17 00:00 ;


图片点击可在新窗口打开查看此主题相关图片如下:360截图20150420115914953.jpg
图片点击可在新窗口打开查看

我希望
1、在下图“1”所显示的格式为:41700:00
2、在下图“2”所显示的格式为:二零一五年四月十七号

图片点击可在新窗口打开查看此主题相关图片如下:360截图20150420115713375.jpg
图片点击可在新窗口打开查看


[此贴子已经被作者于2015/4/20 12:11:00编辑过]

--  作者:Bin
--  发布时间:2015/4/20 13:34:00
--  
http://www.foxtable.com/help/topics/1300.htm

<CLDate([时间])>

--  作者:wumingrong1
--  发布时间:2015/4/20 15:16:00
--  
要生成:  41700:00 格式或者 2015年41700:00 格式;公式该怎么写?
--  作者:Bin
--  发布时间:2015/4/20 15:16:00
--  
<Format([时间],"yyyy年MM月dd日HH:mm")>
--  作者:wumingrong1
--  发布时间:2015/4/20 15:36:00
--  
如果我想设计一个 按钮控件,点击该按钮就能够打开这个Word报表,这个按钮公式该怎么写?
--  作者:Bin
--  发布时间:2015/4/20 15:40:00
--  
http://www.foxtable.com/help/topics/2890.htm
--  作者:wumingrong1
--  发布时间:2015/4/20 16:18:00
--  
如果我想实现把文件保存的名称自动生成为:调度抢修命令(***) ;其中***为[抢修整治迁改表]中的[调令编号]列内容,我的命令该怎么修改?

比如:我有一行数据的[调令编号]列内容为:粤L-抢修〔201504〕97号  ;那么当我保存报表时,文件名自动显示为:调度抢修命令(粤L-抢修〔201504〕97号)

Dim tm As String  = ProjectPath & "Attachments\\调度抢修派单表.doc" \'指定模板文件
Dim fl As String = "D:\\调度抢修命令单\\调度抢修命令().doc" \'指定目标文件
Dim wrt As New WordReport(Tables("抢修整治迁改表"),tm,fl) \'定义一个WordReport
wrt.Build() \'逐行生成报表
wrt.Show() \'显示报表

--  作者:Bin
--  发布时间:2015/4/20 16:19:00
--  
Dim fl As String = "D:\\调度抢修命令单\\调度抢修命令(" & Tables("抢修整治迁改表").current("调令编号") & ").doc" \'指定目标文件

试图理解一下代码吧.

--  作者:wumingrong1
--  发布时间:2015/4/20 19:27:00
--  
我有一条命令,想实现【通知提醒时间】=【通知代维单位时间】+35分钟;如下命令该怎么修改?而且时间格式为:2015-4-20 19:13:00

Select Case e.DataCol.name
    Case "通知代维单位时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("通知代维单位时间")  Then
           dr("通知提醒时间") = Nothing
        Else
            Dim tp As TimeSpan
            tp = dr("通知代维单位时间") + 2100
            dr("通知提醒时间") = tp.TotalSeconds() \'真正的时段型数据要转换为秒数,才能存入时段列
        End If
End Select

--  作者:有点酸
--  发布时间:2015/4/20 20:24:00
--  

你看一下date的说明:

http://www.foxtable.com/help/topics/1424.htm

看一下timespan的说明:

http://www.foxtable.com/help/topics/0287.htm

再看时段列的说明:

http://www.foxtable.com/help/topics/2505.htm

http://www.foxtable.com/help/topics/2506.htm

时段列并非TimeSpan,就是一个数字列而已。

 

如果两列是日期时间列:

 

Select Case e.DataCol.name
    Case "通知代维单位时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("通知代维单位时间")  Then
           dr("通知提醒时间") = Nothing
        Else
            Dim tp As Date = dr("通知代维单位时间") 
            dr("通知提醒时间") = tp.AddMinutes(35)

        End If
End Select

 

如果两列是时段列:

 

Select Case e.DataCol.name
    Case "通知代维单位时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("通知代维单位时间")  Then
           dr("通知提醒时间") = Nothing
        Else
            dr("通知提醒时间") = dr("通知代维单位时间") + 2100

        End If
End Select