以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助:列拆分问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1347) |
||||
-- 作者:abcdzabcdz -- 发布时间:2008/12/9 7:35:00 -- 求助:列拆分问题 求助:列拆分问题 说明:希望根据“样本”表自动生成”排列表”,排列方式见该表内容.
|
||||
-- 作者:don -- 发布时间:2008/12/9 9:44:00 -- 强烈抗议:楼主常把应设置为整数的列设置为字符型 \'\'\' For i =1 to 3 [此贴子已经被作者于2008-12-9 11:14:05编辑过]
|
||||
-- 作者:abcdzabcdz -- 发布时间:2008/12/9 10:37:00 -- 冤枉,我从来没有设置过数据类型啊!-----呵呵,由于FOXTABLE设置类型不太方便,故常用EXCEL设计表格,再导入,速度明显加快,但类型必须修改,下次改正. 谢谢DON版主! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2008/12/9 13:05:00 -- 我也交作业,早上一上班就做这个,结果做了一半,就停电了: Dim Count As Integer = Math.Ceiling(DataTables("样本").DataRows.Count / 3) DataTables("排列表").DataRows.Clear() Dim dr1,dr2 As DataRow Tables("排列表").AddNew(Count) For c As Integer = 0 To 2 For r As Integer = 0 To Count - 1 dr1 = DataTables("排列表").DataRows(r) dr2 = DataTables("样本").DataRows(Count * c + r) dr1("班级" & (c+1)) = dr2("班级") dr1("姓名" & (c+1)) = dr2("姓名") Next Next [此贴子已经被作者于2008-12-9 13:17:55编辑过]
|
||||
-- 作者:yuanbin -- 发布时间:2008/12/9 15:19:00 -- 样本表中数据太有规律了,班级是排序的,班级的抽样人员是固定的3人。假设抽样人员不是固定的,比如6班级是4个人,追加到原来的表后面,未排序。要求拆分时,按班级序号连续拆分,而且,同一个班级人必须在同一列中,不能拆分到2列中。以上代码就要改改了。(先将班级列类型改为数字型) [此贴子已经被作者于2008-12-9 16:13:35编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2008/12/9 16:16:00 -- 哈哈,老袁厉害,学习ing... |
||||
-- 作者:don -- 发布时间:2008/12/9 16:35:00 -- 向老袁学习!思维严密,条理清晰! [此贴子已经被作者于2008-12-9 16:44:06编辑过]
|
||||
-- 作者:gdlgh -- 发布时间:2008/12/9 19:25:00 -- 一题多解,交流下! 说明:班级列为数值类型 dim h as integer = Tables("样本").count\\3\\3 DataTables("排列表").DataRows.Clear() dim j as integer = 1 dim f As New Filler f.SourceTable = DataTables("样本") \'指定数据来源 f.SourceCols = "班级,姓名" \'指定数据来源列 f.DataTable = DataTables("排列表") \'指定数据接收表 f.Append = false for i as integer = 1 to DataTables("排列表").datacols.count/2 f.DataCols = "班级" & i & ",姓名" & i \'指定数据接收列 f.Filter = "[班级]>=" & j & "and [班级]<=" & j+h-1 f.Fill() \'填充数据 j += h next [此贴子已经被作者于2008-12-9 19:26:51编辑过]
|
||||
-- 作者:czy -- 发布时间:2008/12/9 19:52:00 -- 好。 全部收下。 |
||||
-- 作者:abcdzabcdz -- 发布时间:2008/12/10 7:34:00 -- 一解多解,学习中....... |