以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  报表生成问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111208)

--  作者:aza520
--  发布时间:2017/12/17 20:04:00
--  报表生成问题
我在窗口的“公示表”按钮如下代码,想实现点击后生成当前用户能加载(包括所有的分页)的数据报表,实际上该代码把其它用户负责的数据也显示出来了。请老师指点是什么问题?"S征地记录"个与"S征地明细"通过"协议书编号"和"第几期结算"关联。当前用户名是“良口乡”,与"S征地记录"表的“乡镇”列一致。

DataTables("S征地明细").LoadFilter = "协议书编号 = \'" & Tables("S征地记录").current("协议书编号") & "\'"
DataTables("S征地明细").LoadFilter = "第几期结算 = \'" & Tables("S征地记录").current("第几期结算") & "\'"
DataTables("S征地明细").Load
 

Dim Book As New XLS.Book(ProjectPath & "Attachments\\征地公示表.xls")
Dim fl As String = ProjectPath & "Reports\\征地公示表.xls"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()


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


--  作者:有点甜
--  发布时间:2017/12/17 21:11:00
--  

试试

 

DataTables("S征地明细").LoadFilter = "协议书编号 = \'" & Tables("S征地记录").current("协议书编号") & "\' and 第几期结算 = \'" & Tables("S征地记录").current("第几期结算") & "\'"
DataTables("S征地明细").Load

--  作者:aza520
--  发布时间:2017/12/17 21:42:00
--  
打开的时候还是不行,excel出现严重错误
--  作者:有点甜
--  发布时间:2017/12/17 23:31:00
--  
你正常加载数据,然后测试模板能否正常生成数据。先确认是否你模板弄错了。
--  作者:aza520
--  发布时间:2017/12/18 9:38:00
--  
按老师的代码修改后,只能导出选择行一行的数据
--  作者:有点蓝
--  发布时间:2017/12/18 10:00:00
--  
上传模板和实例看看吧
--  作者:aza520
--  发布时间:2017/12/18 13:09:00
--  
老师,共有三个问题,都是在”征地记录“窗口:
1、”公示表“按钮不能生成当前已加载的数据(包括已加载的所有页)
2、”导出记录表“按钮只能导出当前页,想要导出当前已加载的数据(包括已加载的所有页)
3、”合计“按钮想要统计当前用户已加载的数据(包括已加载的所有页)

上传实例,请老师指教
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理系统.zip


--  作者:有点甜
--  发布时间:2017/12/18 14:59:00
--  

1、

 

DataTables("S征地明细").LoadFilter = ""
DataTables("S征地明细").Load

Dim Book As New XLS.Book(ProjectPath & "Attachments\\征地公示表.xls")
Dim fl As String = ProjectPath & "Reports\\征地公示表.xls"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()

 

2、

 

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Tables("S征地记录").DataTable.Loadpage = 0
    Tables("S征地记录").DataTable.Loadtop = ""
    Tables("S征地记录").DataTable.Load
    Tables("S征地记录").SaveExcel(dlg.FileName, "S征地记录")  \'保存文件
End If

 

3、代码不需要改,你要用不同用户登录才能得到统计数据。你用开发者登陆,自然得不到数据的。


--  作者:aza520
--  发布时间:2017/12/18 15:47:00
--  
老师,公示表还是把其它用户的数据也生成了。而且报表第一行出现留空。
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171218154642.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2017/12/18 15:51:00
--  

加上条件

 

DataTables("S征地明细").LoadFilter = "乡镇 = \'" & user.name & "\'"
DataTables("S征地明细").Load

Dim Book As New XLS.Book(ProjectPath & "Attachments\\征地公示表.xls")
Dim fl As String = ProjectPath & "Reports\\征地公示表.xls"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()