Foxtable(狐表)用户栏目专家坐堂 → 生成查询表问题


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

主题:生成查询表问题

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


加好友 发短信
等级:童狐 帖子:257 积分:2448 威望:0 精华:0 注册:2018/5/21 16:49:00
生成查询表问题  发帖心情 Post By:2019/10/6 12:19:00 [只看该作者]

希望根据业务录入,报关商品,采购信息,收piao登记,出口fa piao表头这5个表生成如下格式的一个查询表。具体看图片和实例。希望大神能给些思路和代码。

 


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

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:系统.rar

 

对SQL不太懂。大概说说我的思路:

是否能用SQLJoinTableBuilder生成一个查询表,再用SQLGroupTableBuilder生成统计表(比如需要统计的增piao认证日期列,不含税金额列,出口fa piao表头.开piao日期列等)

最后再用Combine组合查询表和统计表。生成一个TABLE。

 

 


 

[此贴子已经被作者于2019/10/7 16:16:04编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/6 14:52:00 [只看该作者]


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


加好友 发短信
等级:童狐 帖子:257 积分:2448 威望:0 精华:0 注册:2018/5/21 16:49:00
  发帖心情 Post By:2019/10/7 10:53:00 [只看该作者]

Dim tb1 As Table = Tables(e.Form.Name & "_Table1")
Dim   jb1 As  New   SQLJoinTableBuilder("查询表1","报关商品")
jb1.ConnectionName =  "myacc"
Dim dt1 As fxDataSource
jb1.AddTable("报关商品","工作号","业务录入","工作号")  '父表业务录入为右表
jb1.AddCols("申报日期","{业务录入}.工作号","{报关商品}.报关单项号","{报关商品}.商品中文名称","报关数量","{报关商品}.计量单位中文")

jb1.AddExp("FOB美元","报关金额-报关金额/报关总额*(总运费+总杂费+总保费)") 

dt1 =   jb1.BuildDataSource()

 

Dim  jb2 As New  SQLJoinTableBuilder("查询表2","采购信息")
jb2.C '使用外部表,一定要设置数据源名称

Dim Cols2() As String = {"工作号","报关单项号","供货厂家"}
jb2.AddTable("采购信息",Cols2,"收piao登记",Cols2) '添加表
Dim dt2  As fxDataSource
jb2.AddCols("{采购信息}.工作号","{采购信息}.报关单项号","{采购信息}.供货厂家","采购数量","fa piao收齐",True)'根据工作号报关单项号客户ID分组

jb2.AddExp("增piao认证日期","max(增piao认证日期)")
jb2.AddExp("fa piao不含税金额","sum(fa piao不含税金额)")
jb2.AddExp("fa piao进项税额","sum(fa piao进项税额)")
jb2.AddExp("fa piao征收率","avg(fa piao征收率)")
jb2.AddExp("fa piao退税率","avg(fa piao退税率)")
jb2.AddExp("fa piao退税额","sum(fa piao不含税金额)*avg(fa piao退税率)")
jb2.AddExp("fa piao退税成本","sum(fa piao不含税金额)-sum(fa piao不含税金额)*avg(fa piao退税率)")


dt2 = jb2.BuildDataSource()

Dim nms As String() = {"工作号","报关单项号"}
dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
tb1.DataSource = dt1

 


图片点击可在新窗口打开查看此主题相关图片如下:qq1.jpg
图片点击可在新窗口打开查看
DT1,DT2分开是正常的,组合起来就不对了。请老师帮忙修改代码。不知道怎么改.

[此贴子已经被作者于2019/10/7 10:54:37编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/7 11:11:00 [只看该作者]

这个代码我放到1楼的例子里测试没有问题哦

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


加好友 发短信
等级:童狐 帖子:257 积分:2448 威望:0 精华:0 注册:2018/5/21 16:49:00
  发帖心情 Post By:2019/10/7 12:21:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:myacc.rar

1楼的fa piao部分没有数据。增加数据后就不行了。我新上传了个有数据的数据库。麻烦帮我看一下。

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


加好友 发短信
等级:童狐 帖子:257 积分:2448 威望:0 精华:0 注册:2018/5/21 16:49:00
  发帖心情 Post By:2019/10/7 12:25:00 [只看该作者]

业务录入和报关商品,通过工作号关联。

报关商品和采购信息,通过工作号和报关单项号关联。

采购信息和收piao登记,通过工作号和报关单项号,客户ID关联。

 


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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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,"收piao登记",Cols2) '添加表
Dim dt2  As fxDataSource
jb2.AddCols("{采购信息}.工作号","{采购信息}.报关单项号","{采购信息}.供货厂家","采购数量","fa piao收齐",True)'根据工作号报关单项号客户ID分组

jb2.AddExp("增piao认证日期","max(增piao认证日期)")
jb2.AddExp("fa piao不含税金额","sum(fa piao不含税金额)")
jb2.AddExp("fa piao进项税额","sum(fa piao进项税额)")
jb2.AddExp("fa piao征收率","avg(fa piao征收率)")
jb2.AddExp("fa piao退税率","avg(fa piao退税率)")
jb2.AddExp("fa piao退税额","sum(fa piao不含税金额)*avg(fa piao退税率)")
jb2.AddExp("fa piao退税成本","sum(fa piao不含税金额)-sum(fa piao不含税金额)*avg(fa piao退税率)")
'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编辑过]

 回到顶部