Foxtable(狐表)用户栏目专家坐堂 → excel报表事件编码求助


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

主题:excel报表事件编码求助

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


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

代码里页码写成页号

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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/10 17:32:00 [只看该作者]

页码并没有递增,每页都是1,这个不对呀,哪儿错了?



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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/10 17:35:00 [只看该作者]

10的例子按11楼的错误改正后,选中所有行,我测试没有问题。

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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/15 14:26:00 [只看该作者]

为实现excel报表<填报日期1>自动生成,且为当页细节区出差起日期的当月的最后一天.我首先设置了全局变量tbrq   ( public tbrq as date),并在报表的下列事件中设置了相应的代码,却失败,我测试过事件发生的先后顺序为BeforeBuild --BuildPageHeader --BuildDetail --BuildPageFooter,但全局变量最后没有传给e.Book.Marks("填报日期1"),错在哪里?
\BeforeBuild 事件代码
    Select Case e.Book.TempLate
      Case "差旅费报销单蒋安出差"
        e.Book.Marks.Add("填报日期1","")
        e.Book.Marks.Add("填报日期2","")
        e.Book.Marks.Add("页码",1)
        e.Book.Marks.Add("pg",0)
        e.Book.Marks.Add("报账人","")
    End Select
2\
'BuildPageHeader事件代码
Select e.Book.TempLate
    Case "差旅费报销单蒋安出差"
        Select Case e.Book.CurrentSheetName
            Case "sheet1"
                e.Book.Marks("pg") = val(e.Book.Marks("pg")) + 1
                e.Book.Marks("页码") = "第" & e.Book.Marks("pg") & "页"
                e.Book.Marks("填报日期1")= tbrq
                MessageBox.show("这是Duild pageHeadr事件vars('tbrq')的初始值是:  " & tbrq)
        End Select       '代码
End Select

3\
'BuildDetail 事件代码

Dim tbrq1 As Date
Dim tbrq2 As Date
If e.DataRow IsNot Nothing  Then
    MessageBox.show("这是Duild detail事件vars('tbrq')的初始值是:  " &  tbrq)
    tbrq1 = e.DataRow("出差起日期")
    Dim year As Integer = tbrq1.year
    Dim month As Integer = tbrq1.month
    tbrq2  = new Date(Year, Month, Date.DaysInMonth(Year,Month))
    tbrq = tbrq2
    MessageBox.show("这是Duild detail事件vars('tbrq')的结束值是:  " & tbrq)
Else
    tbrq = tbrq2    
End If
4\
'BuildPageFooter事件代码

e.Book.Marks("填报日期1")= tbrq
MessageBox.show("这是Duild pageFooter事件vars('tbrq')的初始值是:  " & tbrq)

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/15 14:31:00 [只看该作者]

请上传实例测试

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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/15 14:39:00 [只看该作者]




下一页的填报日期恰是上一页的,第一页的填日期是初始值,是不合符要求的


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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/15 14:42:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表自动打印页码.rar


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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/15 14:59:00 [只看该作者]

疑问1、当细节区不够时用空行补足,这时捕捉不到e.datarow 的出差日期,要动态捕捉向上不为空的e.datarow的出差日期,如何办?
疑问1、只有BuildDetail事件中才有e.datarow参数属性,而发生在BuildPageHeader之后,这时的e.datarow(“出差日期”)传给全局变量tbrq,恰是上一页的填报日期,所以第一页的填报日期只是个初始值。
疑问3、BuildPageFooter事件发生在BuildDetail之后,它能接收BuildDetail事件传给的e.datarow(“出差日期”)但它仍然在BuildPageHeader事后,测试过也没办实现e.Book.Marks("填报日期1")= tbrq,

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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/15 15:10:00 [只看该作者]

在 BuildPageHeader事件中 e.Book.PreBuild得到的是什么值,如何接收?帮助中没有细说

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


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

麻烦举例说明一下,假设我选中了前面5行数据,生成如下2页报表,那么报表里红框处的<填报日期1>和<填报日期2>应该填写什么内容?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.zip





 回到顶部
总数 26 上一页 1 2 3 下一页