以文本方式查看主题

-  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=57556)

--  作者:bobolan521
--  发布时间:2014/9/26 16:12:00
--  [求助]提升此段代码的速度
For Each r1 As Row In Tables("员工保险查询_table1").GetCheckedRows
    
    Dim j As String  = r1("工号")
    Dim k As String  = r1("员工编号")
    Dim l As String  = r1("姓名")
    
    Dim r As Integer
    r = Tables("计时工资_table5").FindRow("[工号] = \'" & j & "\' and 员工编号 = \'" & k & "\' and 姓名 = \'" & l & "\' and 月份 =\'" & _xzyf & "\'")
    If r >= 0 Then \'如果找到的话
        MessageBox.Show(j & "记录重复导入" )
    Else
        Dim  r2 As Row = Tables("计时工资_table5").AddNew
        r2("员工编号") =  k
        r2("工号") =  j
        r2("姓名") =  l
        r2("养老个人缴费部分") =  r1("养老个人缴费部分")
        r2("医疗个人缴费部分") =  r1("医疗个人缴费部分")
        r2("缴费基数") =  r1("缴费基数")
        r2("部门名称") =  r1("部门名称")
        r2("月份") =  _xzyf
    End If
Next
If Tables("员工保险查询_table1").Rows.Count > 0 Then
    e.Form.close
Else
    MessageBox.Show("至少导入一行数据!")
End If

这段代码能正常执行,但当数据量有1000条左右,要等很长时间才能执行完,请教一下,哪里做一下优化可以提升速度

--  作者:有点甜
--  发布时间:2014/9/26 16:26:00
--  

 优化1 :http://www.foxtable.com/help/topics/0401.htm

 

 优化2 :http://www.foxtable.com/help/topics/2225.htm