Foxtable(狐表)用户栏目专家坐堂 → 现在想在导入前排序,代码如何修改?


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

主题:现在想在导入前排序,代码如何修改?

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
现在想在导入前排序,代码如何修改?  发帖心情 Post By:2013/2/28 11:57:00 [只看该作者]

以下是导入数据的代码,现在想在导入前排序,代码如何修改? 请指教!!!

要排序的表及行为:DataTables("" & xzb.Text & "").Select("竞赛名称 = '"& jsmc.text &"' and  参赛项目 = '"& xm.text &"' and 中小学 = '" & zxx.Text & "'")

 排序的方法为:Tables(e.Form.Name & "_Table2").Sort)

    Dim jsmc As WinForm.ComboBox = e.Form.Controls("竞赛名称")
    Dim xzb As WinForm.ComboBox = e.Form.Controls("选择表")
    Dim dt_jilu As DataTable = DataTables(""& xzb.text & "")
    Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
    Dim dt_baoming As DataTable = DataTables("报名表")
    Dim dt_chengji As DataTable = DataTables("成绩表")
    Dim zxx As WinForm.ComboBox = e.Form.Controls("中小学1")
    Dim Ary As String()
    For Each Ary In dt_jilu .GetUniqueValues("竞赛名称 = '"& jsmc.text &"' and 中小学= '" & zxx.text & "' and 参赛项目 = '"& xm.text &"'","竞赛名称", "编号",  "中小学", "学校", "姓名", "成绩1", "成绩2","奖项","时间排序")
        Dim flt As String  = "编号 = '" & ary(1) & "'  And  竞赛名称 = '" & ary(0) & "'"
        If dt_chengji.Find(flt) Is Nothing Then
            Dim ndr As DataRow = dt_chengji.AddNew
            ndr("竞赛名称") = ary(0)
            ndr("编号") = ary(1)
            ndr("中小学")  = ary(2)
            ndr("学校") = ary(3)
            ndr("姓名")  = ary(4)
            ndr("成绩1")   = ary(5)
            ndr("成绩2") = ary(6)
            ndr("奖项") = ary(7)
            ndr("时间排序") = ary(8)
            Dim dr As DataRow = dt_baoming.Find("编号 = " & ary(1))
            If dr IsNot Nothing Then
                ndr("区")  = dr("区")
                ndr("参赛项目") = dr("参赛项目")
                ndr("辅导教师") = dr("辅导教师")
            End If
        End If
    Next
End If


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/28 12:14:00 [只看该作者]

没有办法哦,只能导入后排序。

要不你导入到一个临时表中。

 

'导入到临时表的代码

For each dr1 As DataRow in DataTables("临时表").Select("","排序字段")

      Dim dr2  = DataTables("正是表").AddNew()

      dr2("列1")  = dr1("列1")

      dr2("列2")  = dr1("列2")

      dr2("列3")  = dr1("列3")

Next

[此贴子已经被作者于2013-2-28 12:16:52编辑过]

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/2/28 12:39:00 [只看该作者]

好的! 我试试。谢谢!!!

 


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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/2/28 14:45:00 [只看该作者]

经测试 还是不行,成绩表被以编号为升序排序 ???

 

 

If MessageBox.Show("是否汇总到成绩表?","确认",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) =DialogResult.OK Then
    Dim jsmc As WinForm.ComboBox = e.Form.Controls("竞赛名称")
    Dim xzb As WinForm.ComboBox = e.Form.Controls("选择表")
    Dim dt_jilu As DataTable = DataTables(""& xzb.text & "")
    Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
    Dim dt_baoming As DataTable = DataTables("报名表")
    Dim dt_chengji As DataTable = DataTables("成绩表")
    Dim zxx As WinForm.ComboBox = e.Form.Controls("中小学1")
    DataTables("临时成绩表").DataRows.Clear

    For Each dr1 As DataRow In DataTables(""& xzb.text & "").Select("竞赛名称 = '"& jsmc.text &"' and  参赛项目 = '"& xm.text &"' and 中小学 = '" & zxx.Text & "'",Tables(e.Form.Name & "_Table2").Sort)
        Dim dr2  = DataTables("临时成绩表").AddNew()
            dr2("竞赛名称") = dr1("竞赛名称")
            dr2("编号") = dr1("编号")
            dr2("中小学")  = dr1("中小学") 
            dr2("学校") = dr1("学校")
            dr2("姓名")  = dr1("姓名")
            dr2("成绩1")   = dr1("成绩1")
            dr2("成绩2") = dr1("成绩2")
            dr2("奖项") = dr1("奖项")
            dr2("时间排序") = dr1("时间排序")
    Next
   
    Dim Ary As String()
    For Each Ary In DataTables("临时成绩表").GetUniqueValues("","竞赛名称", "编号",  "中小学", "学校", "姓名", "成绩1", "成绩2","奖项","时间排序")
        Dim flt As String  = "编号 = '" & ary(1) & "'  And  竞赛名称 = '" & ary(0) & "'"
        If dt_chengji.Find(flt) Is Nothing Then
            Dim ndr As DataRow = dt_chengji.AddNew
            ndr("竞赛名称") = ary(0)
            ndr("编号") = ary(1)
            ndr("中小学")  = ary(2)
            ndr("学校") = ary(3)
            ndr("姓名")  = ary(4)
            ndr("成绩1")   = ary(5)
            ndr("成绩2") = ary(6)
            ndr("奖项") = ary(7)
            ndr("时间排序") = ary(8)
            Dim dr As DataRow = dt_baoming.Find("编号 = " & ary(1))
            If dr IsNot Nothing Then
                ndr("区")  = dr("区")
                ndr("参赛项目") = dr("参赛项目")
                ndr("辅导教师") = dr("辅导教师")
            End If
        End If
    Next
End If

DataTables("成绩表").Save()
DataTables("成绩表").AllowEdit =False


图片点击可在新窗口打开查看此主题相关图片如下:ukpfveq5yu%p5el)aiqh41.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:p90jp~@3ap`ltqishh70wh.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/2/28 15:37:00 [只看该作者]

期待指教。。。。。


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


加好友 发短信
等级:小狐 帖子:302 积分:1860 威望:0 精华:0 注册:2012/4/27 11:34:00
  发帖心情 Post By:2013/2/28 15:38:00 [只看该作者]

上传文件

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/28 15:41:00 [只看该作者]

做个简单的例子,输入少量数据,写好代码,发上来测试


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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/2/28 15:48:00 [只看该作者]

来个qq远程 ?!  470473046

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/28 15:54:00 [只看该作者]

做简单例子发上来测试,既然想别人帮助,就不要偷懒

[此贴子已经被作者于2013-2-28 15:53:53编辑过]

 回到顶部