以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助:如何将已筛选出的数据为导出为报表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140865) |
||||
-- 作者:Mr-sky -- 发布时间:2019/9/16 15:00:00 -- 求助:如何将已筛选出的数据为导出为报表 1.大检查记录表里面有很多问题,通过系统菜单筛选出了某一个项目,希望只导出当前筛选项目的罚款单,但是单击导出罚款单按钮后,还是把整个表里面的罚款问题都导出来了。 单击代码如下: Forms("提示窗口").open Application.DoEvents()\'显示正在执行,请稍后 Dim tm As String = ProjectPath & "Attachments\\处罚通知单.doc" \'指定模板文件 Dim fl As String = ProjectPath & "Reports\\处罚通知单.doc" \'指定目标文件 Dim wrt As New WordReport(Tables("季度大检查记录表"),tm,fl) \'定义一个WordReport Dim str As String = "" Dim drs As List(of DataRow) = DataTables("季度大检查记录表").Select("[经济处罚] = \'是\'") \'筛选出符合条件的行 If drs.Count > 0 Then \'如果存在符合条件的行 For Each r As DataRow In drs \'逐行生成报表 str = str & vbcrlf & r("存在问题") Next str = str.Trim(vbcr).Trim(vblf) End If wrt.Replace("[存在问题]",str) wrt.BuildOne(Tables("季度大检查记录表").current) wrt.Show() \'显示报表 Forms("提示窗口").Close |
||||
-- 作者:Mr-sky -- 发布时间:2019/9/16 15:04:00 -- 示例如下:
|
||||
-- 作者:Mr-sky -- 发布时间:2019/9/16 15:05:00 -- 报表模板如下:
|
||||
-- 作者:有点蓝 -- 发布时间:2019/9/16 15:14:00 -- …… Dim str As String = "" For Each r As Row In Tables("季度大检查记录表").rows \'逐行生成报表 str = str & vbcrlf & r("存在问题") Next str = str.Trim(vbcr).Trim(vblf) wrt.Replace("[存在问题]",str) …… |
||||
-- 作者:Mr-sky -- 发布时间:2019/9/16 16:54:00 -- 回复:(有点蓝)……Dim str As String = "" &... 不行啊,这样就把所有的问题都显示出来了。一是通过菜单筛选出某个项目。 二是筛选出[经济处罚]=是 的问题,代码中已经筛选。问题是不管我是不是通过菜单筛选出某个项目,单击导出时把所有项目 [经济处罚]=是 的问题都导出来了。 替换了老师的代码后,是实现了导出当前筛选出的项目,但是把所有的问题都导出来了,没有把[经济处罚]=是 的问题筛选出来。 能不能筛选出某个项目后,导出[经济处罚]=是 的问题???
|
||||
-- 作者:有点蓝 -- 发布时间:2019/9/16 17:07:00 -- …… Dim str As String = "" For Each r As Row In Tables("季度大检查记录表").rows \'逐行生成报表 if r("经济处罚") = true str = str & vbcrlf & r("存在问题") end if Next str = str.Trim(vbcr).Trim(vblf) wrt.Replace("[存在问题]",str) …… |