Foxtable(狐表)用户栏目专家坐堂 → 怎么写WORD报表代码?


  共有2008人关注过本帖树形打印复制链接

主题:怎么写WORD报表代码?

帅哥哟,离线,有人找我吗?
xhydxs
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:249 积分:2232 威望:0 精华:0 注册:2016/10/29 14:17:00
怎么写WORD报表代码?  发帖心情 Post By:2019/6/14 11:28:00 [只看该作者]

如果工资序列为专技或管理并连续工龄起算时间为空,则用专技模板,如果工资序列为专技或管理并连续工龄起算时间不为空,则用专技(有间断)模板;如果工资序列为工勤并连续工龄起算时间为空,则用工勤模板,如果工资序列为工勤并连续工龄起算时间不为空,则用工勤(有间断)模板。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/14 12:12:00 [只看该作者]

判断当前行的值,然后调用不同模板,如

 

Dim r As Row = Tables("表A").current

If (r("工资序列") = "xxx" orelse r("工资序列") = "yyy") andalso r("起算时间") = nothing then

 

ElseIf 其它条件

 

ElseIf 其它条件

 

End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
xhydxs
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:249 积分:2232 威望:0 精华:0 注册:2016/10/29 14:17:00
回复:(有点甜)判断当前行的值,然后调用不同模板,...  发帖心情 Post By:2019/6/14 14:21:00 [只看该作者]

老师,这是怎么回事?


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190614141937.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/14 15:41:00 [只看该作者]

删除后面的这句代码(保留第一行的)

 

Dim r As Row = Tables("退休人员信息").current

 


 回到顶部
帅哥哟,离线,有人找我吗?
xhydxs
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:249 积分:2232 威望:0 精华:0 注册:2016/10/29 14:17:00
  发帖心情 Post By:2019/6/17 14:21:00 [只看该作者]

以下是引用有点甜在2019/6/14 15:41:00的发言:

删除后面的这句代码(保留第一行的)

 

Dim r As Row = Tables("退休人员信息").current

 

已经删除了,只保留了第一行的,但又出现了这个错误提示?


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190617141913.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
xhydxs
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:249 积分:2232 威望:0 精华:0 注册:2016/10/29 14:17:00
  发帖心情 Post By:2019/6/17 14:30:00 [只看该作者]

以下是引用xhydxs在2019/6/17 14:21:00的发言:

已经删除了,只保留了第一行的,但又出现了这个错误提示?


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190617141913.png
图片点击可在新窗口打开查看
可以了,代码错了,太粗心了!


 回到顶部
帅哥哟,离线,有人找我吗?
xhydxs
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:249 积分:2232 威望:0 精华:0 注册:2016/10/29 14:17:00
  发帖心情 Post By:2019/6/17 22:37:00 [只看该作者]

以下是引用有点甜在2019/6/14 15:41:00的发言:

删除后面的这句代码(保留第一行的)

 

Dim r As Row = Tables("退休人员信息").current

 

甜老师,这段代码有问题吗?怎么点击按钮了没有反应???

 

Dim r As Row = Tables("退休人员信息").current
If (r("工资序列") = "专技" OrElse r("工资序列") = "管理") AndAlso r("连续工龄起算时间") IsNot Nothing Then
    Dim tm As String  = ProjectPath & "Attachments\专技doc" '指定模板文件
    Dim fl As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
    Dim wrt As New WordReport(Tables("退休人员信息"),tm,fl) '定义一个WordReport
    wrt.Build() '逐行生成报表
    wrt.Show() '显示报表
ElseIf (r("工资序列") = "专技" OrElse r("工资序列") = "管理") AndAlso r("连续工龄起算时间") Is Nothing Then
    Dim tm1 As String  = ProjectPath & "Attachments\专技(间断).doc" '指定模板文件
    Dim fl1 As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
    Dim wrt As New WordReport(Tables("退休人员信息"),tm1,fl1) '定义一个WordReport
    wrt.Build() '逐行生成报表
    wrt.Show() '显示报表
ElseIf r("工资序列") = "工勤" AndAlso r("连续工龄起算时间") IsNot Nothing Then
    Dim tm2 As String  = ProjectPath & "Attachments\工勤.doc" '指定模板文件
    Dim fl2 As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
    Dim wrt As New WordReport(Tables("退休人员信息"),tm2,fl2) '定义一个WordReport
    wrt.Build() '逐行生成报表
    wrt.Show() '显示报表
ElseIf r("工资序列") = "工勤" AndAlso r("连续工龄起算时间") Is Nothing Then
    Dim tm3 As String  = ProjectPath & "Attachments\工勤(间断).doc" '指定模板文件
    Dim fl3 As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
    Dim wrt As New WordReport(Tables("退休人员信息"),tm3,fl3) '定义一个WordReport
    wrt.Build() '逐行生成报表
    wrt.Show() '显示报表
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/17 23:22:00 [只看该作者]

说明当前行没有符合条件的数据

Dim r As Row = Tables("退休人员信息").current
If (r("工资序列") = "专技" OrElse r("工资序列") = "管理")
    If  r.IsNull("连续工龄起算时间") = False  Then
        Dim tm As String  = ProjectPath & "Attachments\专技doc" '指定模板文件
        Dim fl As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
        Dim wrt As New WordReport(Tables("退休人员信息"),tm,fl) '定义一个WordReport
        wrt.Build() '逐行生成报表
        wrt.Show() '显示报表
    Else
        Dim tm1 As String  = ProjectPath & "Attachments\专技(间断).doc" '指定模板文件
        Dim fl1 As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
        Dim wrt As New WordReport(Tables("退休人员信息"),tm1,fl1) '定义一个WordReport
        wrt.Build() '逐行生成报表
        wrt.Show() '显示报表
    End If
ElseIf r("工资序列") = "工勤"
    If r.IsNull("连续工龄起算时间") = False Then
        Dim tm2 As String  = ProjectPath & "Attachments\工勤.doc" '指定模板文件
        Dim fl2 As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
        Dim wrt As New WordReport(Tables("退休人员信息"),tm2,fl2) '定义一个WordReport
        wrt.Build() '逐行生成报表
        wrt.Show() '显示报表
    Else
        Dim tm3 As String  = ProjectPath & "Attachments\工勤(间断).doc" '指定模板文件
        Dim fl3 As String = ProjectPath & "Reports\退休制文\" & format(Date.Today,"yyyy-MM") & "\关于" & r("姓名") & "同志退休的通知.doc"
        Dim wrt As New WordReport(Tables("退休人员信息"),tm3,fl3) '定义一个WordReport
        wrt.Build() '逐行生成报表
        wrt.Show() '显示报表
    End If
End If

 回到顶部