以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助][求助]我这个帖子实现的动态列加入查询结果中,版主告诉我用临时表,但是我作报表的时候又遇见了新的问题,谢谢大家帮我看看,问题在最后  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65755)

--  作者:a937775799
--  发布时间:2015/3/22 12:39:00
--  [求助][求助]我这个帖子实现的动态列加入查询结果中,版主告诉我用临时表,但是我作报表的时候又遇见了新的问题,谢谢大家帮我看看,问题在最后
比如我有一个表A 是记录表里面存放日常记录  里面有字段 A.b,
A.b对应到表B中有多条记录 , 我在表B中的两个字段 B.b1和B.b2  和B.b3.......
我模版使用A表的一个记录 就通过 A.b 连接到B表 ,但是我要加上判断 B.b1 = "火车"  and B.b2 = “电” 再来获得 B表中其他记录,这要怎么弄呀
或者说 如果不能加条件的话,我应该怎么做呢
[此贴子已经被作者于2015/4/5 17:24:10编辑过]

--  作者:有点甜
--  发布时间:2015/3/22 14:12:00
--  

1、把AB表用连接查询的方式,把要生成的数据取得;

 

2、根据那个查询表去设计模板。

 

http://www.foxtable.com/help/topics/2321.htm

 

http://www.foxtable.com/help/topics/1542.htm

 

-------不会做,就请上传具体例子。


--  作者:有点甜
--  发布时间:2015/3/22 14:14:00
--  

 有或者换一种方式,根据子表生成报表,引用父表的内容

 

-------不会做,就请上传具体例子。


--  作者:a937775799
--  发布时间:2015/3/22 15:11:00
--  

这个在内置数据源 用sql 可以实现吗


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

--  作者:有点甜
--  发布时间:2015/3/22 15:15:00
--  

 多表连接查询而已啊,两个表跟三个表四个表都是一样的啊。

 

 不会做,就请上传具体例子。


--  作者:a937775799
--  发布时间:2015/3/22 15:46:00
--  

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

上传了 主查询表是 施工记录

但是后面出来的结果 列 要外加  人员岗位和单位类型 这两个表的所有数据当作列


--  作者:有点甜
--  发布时间:2015/3/22 16:05:00
--  

 呃,你要生成交叉表头?参考,先生成表,再填充数据。比直接写sql语句要简单

 

http://www.foxtable.com/help/topics/2394.htm

 


--  作者:有点甜
--  发布时间:2015/3/22 16:20:00
--  

参考代码

 

Dim dtb As New DataTableBuilder("临时表")
dtb.AddDef("工程名称", Gettype(String), 16)
Dim prds As List(of String) = DataTables("单位类型").GetValues("单位类型")
For Each prd As String In prds
    dtb.AddDef(prd, Gettype(String), 16)
    For Each s As String In DataTables("人员岗位").GetValues("人员岗位")
        dtb.AddDef(prd & s, Gettype(String), 16)
    Next
Next
dtb.Build()
Dim dt As DataTable = DataTables("临时表")
For Each dr As DataRow In DataTables("施工记录").Select("")
    Dim ndr As DataRow = dt.AddNew
    ndr("工程名称") = dr("工程名称")
    For Each cdr As DataRow In DataTables("单位名称").Select("工程名称 = \'" & dr("工程名称") & "\'")
        If dt.DataCols.Contains(cdr("单位类型")) Then
            ndr(cdr("单位类型")) = cdr("单位名称")
            For Each ccdr As DataRow In DataTables("人员名称").Select("单位名称 = \'" & cdr("单位名称") & "\'")
                Dim cname As String = cdr("单位类型") & ccdr("人员岗位")
                If dt.DataCols.Contains(cname) Then
                    ndr(cname) = ccdr("人员名称")
                End If
            Next
        End If
    Next
Next


--  作者:a937775799
--  发布时间:2015/3/22 16:44:00
--  
 Dim dtb As New DataTableBuilder("临时表")
这个表示 生成一个表 吧  ,这个对象 我在excel和word 模版中也可以用吧

--  作者:有点甜
--  发布时间:2015/3/22 16:44:00
--  
 可以用。