以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]交叉表引用字符 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=15452) |
||||
-- 作者:csxuebai -- 发布时间:2011/12/26 22:20:00 -- [求助]交叉表引用字符 请问,交叉表中能否实现下图的功能:
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/12/26 22:32:00 -- 这个没有办法,不过这样的问题,编码生成是很简单的,看看这里的示例二: http://www.foxtable.com/help/topics/0679.htm
[此贴子已经被作者于2011-12-26 22:32:10编辑过]
|
||||
-- 作者:csxuebai -- 发布时间:2011/12/26 22:50:00 -- 老六,我依葫芦画瓢,不行啊,请帮我看看是什么原因,最好能告诉我错在哪里以便我学习 Dim dtb As New DataTableBuilder("表b") dtb.Build() |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/12/26 23:00:00 -- Dim dtb As New DataTableBuilder("表F") dtb.AddDef("车号", Gettype(String), 32) For Each v As String In DataTables("表A").GetUniqueValues("","日期") Dim d As Date = v dtb.AddDef(format(d,"yyyy-MM-dd"), Gettype(String)) Next dtb.Build() For Each v As String In DataTables("表A").GetUniqueValues("","车号") Dim dr1 As DataRow = DataTables("表F").AddNew() dr1("车号") = v For Each dr2 As DataRow In DataTables("表A").DataRows If dr2("车号") = v Then Dim nm As String = Format(dr2("日期"),"yyyy-MM-dd") dr1(nm) = dr2("行程") End If Next Next MainTable = Tables("表F") |
||||
-- 作者:csxuebai -- 发布时间:2011/12/26 23:09:00 -- 哦,我没有把日期列的格式转成字符串了,谢谢老六! |
||||
-- 作者:csxuebai -- 发布时间:2011/12/26 23:34:00 -- 顺便再问一个,如果我要在A表筛选以后再生成F表,但DataTableBuilder没有filter方法,不能写成 dtb.Filter = Tables("表A").Filter,那应该怎么写呢 哦,只要把data table改成table,先筛选再生产临时表应该可以的,明天上电脑试下[此贴子已经被作者于2011-12-27 0:29:32编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/12/27 8:18:00 -- 1、GetUniqueValues可以设置条件 2、 For Each dr2 As DataRow In DataTables("表A").DataRows 改为:
For Each dr2 As Row In Tables("表A").DataRows
|
||||
-- 作者:游山玩水 -- 发布时间:2011/12/27 10:33:00 -- 以下是引用狐狸爸爸在2011-12-27 8:18:00的发言:
1、GetUniqueValues可以设置条件 2、 For Each dr2 As DataRow In DataTables("表A").DataRows 改为:
For Each dr2 As Row In Tables("表A").DataRows
2、这里应该是For Each dr2 As Row In Tables("表A").Rows 还有,筛选以后生成的表隐藏的字段都有的,只是值为空的,能不能不生成这些字段 [此贴子已经被作者于2011-12-27 11:11:59编辑过]
|
||||
-- 作者:don -- 发布时间:2011/12/27 11:58:00 -- 组合多个SQLJoinTableBuilder法: Dim n As Integer Dim s As String Dim dt1,dt2 As fxDataSource Dim jb As SQLJoinTableBuilder Dim ds As New List(Of String) ds = DataTables("表A").GetUniqueValues("","日期") For Each D As Date In ds s = format(d,"yyyy年_M月_d") jb =New SQLJoinTableBuilder("查询","表A") jb.AddCols("车号") jb.AddExp(s,"行程") jb.Filter = "日期 = #" & D & "#" If n =0 Then dt1 = jb.BuildDataSource() Else dt2 = jb.BuildDataSource() dt1.Combine("车号",dt2,"车号") End If n+=1 Next Tables("窗口1_Table1").DataSource = dt1
[此贴子已经被作者于2011-12-27 12:10:43编辑过]
|