以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]表A第一列转表B多列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186413) |
||||
-- 作者:miaoqingqing -- 发布时间:2023/4/27 12:11:00 -- [求助]表A第一列转表B多列 求助,表a第一列多行的值转表b多列一行 表a第一列多行的值是固定的规律 日期 编号 成绩1 成绩2 成绩3 成绩4 成绩5 日期 编号 成绩1 成绩2 成绩3 成绩4 成绩5
狐表不能升级,高版本项目打不开了,辛苦代码贴出了,感谢 [此贴子已经被作者于2023/4/27 12:11:46编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2023/4/27 13:36:00 -- http://www.foxtable.com/webhelp/topics/2965.htm |
||||
-- 作者:miaoqingqing -- 发布时间:2023/4/27 15:02:00 -- 回复:(有点蓝)http://www.foxtable.com/webhelp/to... 蓝总,我的思路是这样的: 表A总行数除7,得到的整数(表B新建的行数) 表A总行数除7得到余数6、5、4、3、2、1、0的行,填入的 日期、编号、甲、乙、丙、丁、做法 就是下面的代码有问题,求助实现上面的思路 For Each v As String In DataTables("表A").GetValues("第一列") Dim t As Table = Tables("表A") \'定义一个变量t引用数据表 For i As Integer = 0 To t.Rows.Count(True) - 1 If i Mod 7 = 0 Then Dim dr1 As DataRow = DataTables("表B").AddNew() If i Mod 7 = 0 Then dr1("甲") = v End If If i Mod 7 = 1 Then dr1("乙") = v End If End If Next Next |
||||
-- 作者:有点蓝 -- 发布时间:2023/4/27 15:13:00 -- For i As Integer = 0 To t.Rows.Count - 1 step 7 Dim dr1 As DataRow = DataTables("表B").AddNew() dr1("日期") = t.Rows(i)("第一列") dr1("编号") = t.Rows(i+1)("第一列")
|
||||
-- 作者:miaoqingqing -- 发布时间:2023/4/27 16:22:00 -- 回复:(有点蓝)For i As Integer = 0 To t.Rows.Cou... 蓝总,求助怎么增加表b不重复新增编号一样的行 For Each v As String In DataTables("表A").GetValues("第一列") Dim t As Table = Tables("表A") \'定义一个变量t引用数据表 For i As Integer = 0 To t.Rows.Count - 1 Step 7 Dim pr As DataRow If DataTables("表B").Compute("Count([_Identify])","编号 = \'" & pr("编号") & "\'") = 0 Then \'加这个判断,要有2个值以上才执行下面代码,效率高 \'Dim pr As DataRow \'pr = DataTables("表B").Find("编号 = \'" & pr("编号") & "\'") \'If pr IsNot Nothing Then \'Else Dim dr1 As DataRow = DataTables("表B").AddNew() dr1("日期") = t.Rows(i)("第一列") dr1("编号") = t.Rows(i+1)("第一列") dr1("甲") = t.Rows(i+2)("第一列") dr1("乙") = t.Rows(i+3)("第一列") dr1("丙") = t.Rows(i+4)("第一列") dr1("丁") = t.Rows(i+5)("第一列") dr1("方法") = t.Rows(i+6)("第一列") End If Next Next [此贴子已经被作者于2023/4/27 16:23:52编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2023/4/27 16:25:00 -- If DataTables("表B").Compute("Count([编号])","编号 = \'" & t.Rows(i+1)("第一列") & "\'") =0 Then |