以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 生成查询表问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141596) |
||||
-- 作者:keli0917 -- 发布时间:2019/10/6 12:19:00 -- 生成查询表问题 希望根据业务录入,报关商品,采购信息,收票登记,出口发票表头这5个表生成如下格式的一个查询表。具体看图片和实例。希望大神能给些思路和代码。
对SQL不太懂。大概说说我的思路: 是否能用SQLJoinTableBuilder生成一个查询表,再用SQLGroupTableBuilder生成统计表(比如需要统计的增票认证日期列,不含税金额列,出口发票表头.开票日期列等) 最后再用Combine组合查询表和统计表。生成一个TABLE。
[此贴子已经被作者于2019/10/7 16:16:04编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/10/6 14:52:00 -- 参考:http://www.foxtable.com/webhelp/topics/2305.htm |
||||
-- 作者:keli0917 -- 发布时间:2019/10/7 10:53:00 -- Dim tb1 As Table = Tables(e.Form.Name & "_Table1") jb1.AddExp("FOB美元","报关金额-报关金额/报关总额*(总运费+总杂费+总保费)")
Dim jb2 As New SQLJoinTableBuilder("查询表2","采购信息")
Dim nms As String() = {"工作号","报关单项号"}
[此贴子已经被作者于2019/10/7 10:54:37编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/10/7 11:11:00 -- 这个代码我放到1楼的例子里测试没有问题哦 |
||||
-- 作者:keli0917 -- 发布时间:2019/10/7 12:21:00 --
1楼的发票部分没有数据。增加数据后就不行了。我新上传了个有数据的数据库。麻烦帮我看一下。 |
||||
-- 作者:keli0917 -- 发布时间:2019/10/7 12:25:00 -- 业务录入和报关商品,通过工作号关联。 报关商品和采购信息,通过工作号和报关单项号关联。 采购信息和收票登记,通过工作号和报关单项号,客户ID关联。
|
||||
-- 作者:有点蓝 -- 发布时间:2019/10/7 13:48:00 -- 要保证没有重复的关联列数据,也就是要有相同的关联列 Dim jb1 As New SQLJoinTableBuilder("查询表1","报关商品") jb1.ConnectionName = "myacc" Dim dt1 As fxDataSource jb1.AddTable("报关商品","工作号","业务录入","工作号") \'父表业务录入为右表 Dim Cols3() As String = {"工作号","报关单项号"} jb1.AddTable("报关商品",Cols3,"采购信息",Cols3) \'父表业务录入为右表 jb1.AddCols("申报日期","{业务录入}.工作号","{报关商品}.报关单项号","{采购信息}.供货厂家","{报关商品}.商品中文名称","报关数量","{报关商品}.计量单位中文") jb1.AddExp("FOB美元","报关金额-报关金额/报关总额*(总运费+总杂费+总保费)") \'Output.Show(jb1.BuildSql) dt1 = jb1.BuildDataSource() Dim jb2 As New SQLJoinTableBuilder("查询表2","采购信息") jb2.ConnectionName = "myacc" \'使用外部表,一定要设置数据源名称 Dim Cols2() As String = {"工作号","报关单项号","供货厂家"} jb2.AddTable("采购信息",Cols2,"收票登记",Cols2) \'添加表 Dim dt2 As fxDataSource jb2.AddCols("{采购信息}.工作号","{采购信息}.报关单项号","{采购信息}.供货厂家","采购数量","发票收齐",True)\'根据工作号报关单项号客户ID分组 jb2.AddExp("增票认证日期","max(增票认证日期)") jb2.AddExp("发票不含税金额","sum(发票不含税金额)") jb2.AddExp("发票进项税额","sum(发票进项税额)") jb2.AddExp("发票征收率","avg(发票征收率)") jb2.AddExp("发票退税率","avg(发票退税率)") jb2.AddExp("发票退税额","sum(发票不含税金额)*avg(发票退税率)") jb2.AddExp("发票退税成本","sum(发票不含税金额)-sum(发票不含税金额)*avg(发票退税率)") \'Output.Show(jb2.BuildSql) dt2 = jb2.BuildDataSource() \'Dim nms As String() = {"工作号","报关单项号"} dt1.Combine(Cols2,dt2,Cols2) \'将销售统计数据组合到进货统计数据 dt1.show("查询表1") [此贴子已经被作者于2019/10/7 13:48:27编辑过]
|