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


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

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

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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
excel报表事件编码求助  发帖心情 Post By:2023/3/6 11:54:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:差旅费报销单.xls

1\ 已在beforebuild 事件中写入:
Dim tbrq As Date = Tables("蒋安出差").Current("出差起日期")
Select e.Book.TempLate
    Case "差旅费报销单"
        Select Case e.Book.CurrentSheetName
            Case "sheet1"
                e.Book.Marks.Add("填报日期1","")
                e.Book.Marks.Add("报销人","")
                'e.Book.Marks.Add("用户名",UserName)
                e.Book.Marks.Add("页码","")
                e.Book.Marks.Add("pg", 0)
        End Select
        '代码
End Select

2、在事件buildPageHeader 中写入
Dim tbrq As Date = Tables("蒋安出差").Current("出差起日期")
Select e.Book.TempLate
    Case "差旅费报销单"
        Select Case e.Book.CurrentSheetName
            Case "sheet1"
                'e.Book.Marks.Add("报销人",UserName)
                'e.Book.Marks.Add("用户名",UserName)
                e.Book.Marks("填报日期1")= tbrq
                
                e.Book.Marks("pg") = e.Book.Marks("pg") + 1
                
                e.Book.Marks("页码") = "第" & e.Book.Marks("pg") & "页"
                MessageBox.show("1")
        End Select
        '代码
End Select
3、报错:

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

帮助看代码错在哪里?


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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/6 12:41:00 [显示全部帖子]

错到此处:

                e.Book.Marks("pg") = e.Book.Marks("pg") + 1


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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/6 21:21:00 [显示全部帖子]

同样的问题,报错说给定的关键字不在字典中。




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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/6 23:17:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ddzcw.foxdb
数据库传不了,我压缩了也传不过来



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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/7 7:27:00 [显示全部帖子]

我代码的目的是1、自动编写页码 2。填报日期为本页的最后一天。代码如何写,在哪里写?帮助中的例子使用起来不对。


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


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2023/3/9 21:56:00 [显示全部帖子]

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


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


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

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



 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)

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


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




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


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


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

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


 回到顶部
总数 16 1 2 下一页