以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]表数据复制到另一张表中,格式分割问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=117811) |
-- 作者:xndd -- 发布时间:2018/4/19 13:16:00 -- [求助]表数据复制到另一张表中,格式分割问题 老师好! 我有2张表: 第一张有一个 时间 列 ,值: 08:29 12:10 12:12 17:30,中间用空格分隔 我用如下代码,将第一张表数据复制到第二张表没问题,但是遇到需要自己处理的,如何写代码?请指教!谢谢! Dim Cols1() As String = {"姓名","部门","日期"} Dim Cols2() As String = {"姓名","部门","考勤日期"} For Each dr1 As DataRow In DataTables("原始记录2").Select("") Dim dr2 As DataRow = DataTables("考勤报表").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next 另外问一句,为什么有些人复制粘贴上来的代码有颜色?
|
-- 作者:xndd -- 发布时间:2018/4/19 13:52:00 -- 我改成这样,但是提示“索引数组超出了界限”,我的值范围哪里有问题? Dim Cols1() As String = {"姓名","部门","日期","时间"} Dim Cols2() As String = {"姓名","部门","考勤日期","上午签到","上午签退","下午签到","下午签退"} For Each dr1 As DataRow In DataTables("原始记录2").Select("") Dim dr2 As DataRow = DataTables("考勤报表").AddNew() For i As Integer = 0 To Cols1.Length -1 If i = 3 Then Dim Values() As String Values = dr1(Cols1(3)).split(" ") dr2(Cols2(3)) = Values(0) dr2(Cols2(4)) = Values(1) dr2(Cols2(5)) = Values(2) dr2(Cols2(6)) = Values(3) Else dr2(Cols2(i)) = dr1(Cols1(i)) End If Next Next |
-- 作者:有点甜 -- 发布时间:2018/4/19 14:13:00 -- 试试
Dim Cols1() As String = {"姓名","部门","日期","时间"} [此贴子已经被作者于2018/4/19 15:48:19编辑过]
|
-- 作者:xndd -- 发布时间:2018/4/19 15:44:00 -- 原来是我的值的问题,有的4个,有的2个,有的没有。我改成这样子: Dim Cols1() As String = {"姓名","部门","日期","时间"} Dim Cols2() As String = {"姓名","部门","考勤日期","上午签到","上午签退","下午签到","下午签退"} For Each dr1 As DataRow In DataTables("原始记录2").Select("") Dim dr2 As DataRow = DataTables("考勤报表").AddNew() For i As Integer = 0 To Cols1.Length -1 If i = 3 Then If dr1(Cols1(3)) <> "" Then Dim Values() As String Values = dr1(Cols1(3)).split(" ") Select Case Values.Length Case 1 dr2(Cols2(3)) = Values(0) Case 2 dr2(Cols2(3)) = Values(0) dr2(Cols2(4)) = Values(1) Case 3 dr2(Cols2(3)) = Values(0) dr2(Cols2(4)) = Values(1) dr2(Cols2(5)) = Values(2) Case 4 dr2(Cols2(3)) = Values(0) dr2(Cols2(4)) = Values(1) dr2(Cols2(5)) = Values(2) dr2(Cols2(6)) = Values(3) End Select End If Else dr2(Cols2(i)) = dr1(Cols1(i)) End If Next Next |