Foxtable(狐表)用户栏目专家坐堂 → 代码修改


  共有2524人关注过本帖树形打印复制链接

主题:代码修改

帅哥哟,离线,有人找我吗?
aygp
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
代码修改  发帖心情 Post By:2014/5/15 8:39:00 [只看该作者]

以下是lsy老师的一段代码,能正常运行。可以把“学籍管理”表中的相关列数据和“课程设置”表中的‘课程’列数据复制到“成绩管理”表中的对应列中。现在还需要把“课程设置”表中的‘课程性质’列的数据也复制到“成绩管理”表的 ‘课程性质’列中。请问以下代码应该如何修改?


DataTables("成绩管理").DataRows.Clear
For Each r As Row In Tables("学籍管理").Rows
    Dim fdr As DataRow = DataTables("课程设置").Find("主考院校 = '" & r("主考院校") & "' And 专业 = '" & r("专业") & "'")
    If fdr IsNot Nothing Then
        Dim vals As List(Of String) = DataTables("课程设置").GetValues("课程","课程 Is Not Null And 主考院校 = '" & r("主考院校") & "' And 专业 = '" & r("专业") & "'")
        For Each val As String In vals
            Dim nr As Row = Tables("成绩管理").AddNew
            For Each c As Col In Tables("学籍管理").Cols
                If Tables("成绩管理").Cols.Contains(c.Name) Then
                    nr(c.Name) = r(c.Name)
                End If
            Next
            nr("课程") = val
        Next
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/15 8:48:00 [只看该作者]

同理的,改下表名和列名即可, 楼主能只是盲目的复制代码,要去看以及理解. 否则需求稍加变动又不会了.  教会了1+2  2+1 又不懂了,这样怎么行.

For Each r As Row In Tables("课程设置").Rows
    Dim fdr As DataRow = DataTables("成绩管理").Find("课程 = '" & r("课程") & "' and 主考院校 = '" & r("主考院校") & "' And 专业 = '" & r("专业") & "'")
    If fdr IsNot Nothing Then
         fdr("课程性质")=r("课程性质")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
aygp
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2014/5/15 10:30:00 [只看该作者]

谢谢Bin老师,我正在努力学习代码。以上代码执行完一个学生姓名的‘课程性质’列后,第二个学生姓名及以后 学生姓名的‘课程性质’列都不能复制数据,请老师修改一下。

 回到顶部
帅哥哟,离线,有人找我吗?
aygp
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2014/5/15 10:32:00 [只看该作者]

见截图:

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/15 10:57:00 [只看该作者]

DataTables("成绩管理").DataRows.Clear
For Each r As Row In Tables("学籍管理").Rows
    Dim fdr As DataRow = DataTables("课程设置").Find("主考院校 = '" & r("主考院校") & "' And 专业 = '" & r("专业") & "'")
    If fdr IsNot Nothing Then
        Dim vals As List(Of String()) = DataTables("课程设置").GetValues("课程|课程性质","课程 Is Not Null And 主考院校 = '" & r("主考院校") & "' And 专业 = '" & r("专业") & "'")
        For Each val As String() In vals
            Dim nr As Row = Tables("成绩管理").AddNew
            For Each c As Col In Tables("学籍管理").Cols
                If Tables("成绩管理").Cols.Contains(c.Name) Then
                    nr(c.Name) = r(c.Name)
                End If
            Next
            nr("课程") = val(0)
            nr("课程性质") = val(1)
        Next
    End If
Next
[此贴子已经被作者于2014-5-15 10:57:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
aygp
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2014/5/15 11:19:00 [只看该作者]

测试通过。谢谢甜老师!

 回到顶部