Foxtable(狐表)用户栏目专家坐堂 → 如何把各录取年度的最低分调到对应的年度列中


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

主题:如何把各录取年度的最低分调到对应的年度列中

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/4 8:47:00 [显示全部帖子]

Dim dt1 As DataTable = DataTables("年度院校提档线")

For Each ary As String() In dt1.GetValues("院校代码|文理分科", "院校代码 is not null")
    Dim filter As String = "院校代码='" & ary(0) & "' and 文理分科 = '" & ary(1) & "'"
    Dim filter1 As String = "院校代码='" & ary(0) & "' and 文理分科 = '" & ary(1) & "' and 录取年度 = '2017'"
    Dim filter2 As String = "院校代码='" & ary(0) & "' and 文理分科 = '" & ary(1) & "' and 录取年度 = '2016'"
    Dim fdr1 = dt1.find(filter1)
    If fdr1 IsNot Nothing Then
        dt1.ReplaceFor("2017最低分", fdr1("最低分"), filter)
    End If
    Dim fdr2 = dt1.find(filter2)
    If fdr2 IsNot Nothing Then
        dt1.ReplaceFor("2016最低分", fdr2("最低分"), filter)
    End If
   
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/4 10:46:00 [显示全部帖子]

以下是引用hbfnmxb在2018/7/4 9:37:00的发言:
执行代码时,非常慢,像死机一样,不过可以得到我想要的结果,有没有快一些的方法?谢谢老师

 

1、你代码写到哪里?写到按钮里面执行,我这里执行你的例子很快的。

 

2、如果慢,做个慢的实例发上来看看。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/4 11:32:00 [显示全部帖子]

Dim dt1 As DataTable = DataTables("年度院校提档线")

For Each ary As String() In dt1.GetValues("院校代码|文理分科|录取批次", "院校代码 is not null")
    Dim filter As String = "院校代码='" & ary(0) & "' and 文理分科 = '" & ary(1) & "' and 录取批次 = '" & ary(2) & "'"
    Dim filter1 As String = filter & " And 录取年度 = '2017'"
    Dim filter2 As String = filter & " And 录取年度 = '2016'"
    Dim fdr1 = dt1.find(filter1)
    If fdr1 IsNot Nothing Then
        dt1.ReplaceFor("2017最低分", fdr1("最低分"), filter)
    End If
    Dim fdr2 = dt1.find(filter2)
    If fdr2 IsNot Nothing Then
        dt1.ReplaceFor("2016最低分", fdr2("最低分"), filter)
    End If
   
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/5 8:44:00 [显示全部帖子]

Dim dt1 As DataTable = DataTables("年度院校提档线")
For Each ary As String() In dt1.GetValues("院校代码|文理分科|录取批次", "院校代码 is not null")
    Dim filter As String = "院校代码='" & ary(0) & "' and 文理分科 = '" & ary(1) & "' and 录取批次 = '" & ary(2) & "'"
    Dim filter1 As String = filter & " And 录取年度 = '2017'"
    Dim filter2 As String = filter & " And 录取年度 = '2016'"
    Dim filter3 As String = filter & " And 录取年度 = '2015'"
   
    Dim fdr1 = dt1.find(filter1)
    If fdr1 IsNot Nothing Then
        dt1.ReplaceFor("2017最低分", fdr1("最低分"), filter)
        dt1.ReplaceFor("2017平均分", fdr1("平均分"), filter)
        dt1.ReplaceFor("2017最低分排名", fdr1("最低分排名"), filter)
        dt1.ReplaceFor("2017平均分排名", fdr1("平均分排名"), filter)
    End If
   
    Dim fdr2 = dt1.find(filter2)
    If fdr2 IsNot Nothing Then
        dt1.ReplaceFor("2016最低分", fdr2("最低分"), filter)
        dt1.ReplaceFor("2016平均分", fdr2("平均分"), filter)
        dt1.ReplaceFor("2016最低分排名", fdr2("最低分排名"), filter)
        dt1.ReplaceFor("2016平均分排名", fdr2("平均分排名"), filter)
    End If
   
    Dim fdr3 = dt1.find(filter3)
    If fdr3 IsNot Nothing Then
        dt1.ReplaceFor("2015最低分", fdr3("最低分"), filter)
        dt1.ReplaceFor("2015平均分", fdr3("平均分"), filter)
        dt1.ReplaceFor("2015最低分排名", fdr3("最低分排名"), filter)
        dt1.ReplaceFor("2015平均分排名", fdr3("平均分排名"), filter)
    End If
Next

 回到顶部