以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  select的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=157281)

--  作者:klkingkkk
--  发布时间:2020/10/10 18:48:00
--  select的问题
Select  这个方法要是没有找到数据返回什么呢?

各位大神,请教一下!!  以下代码可以怎么优化一下呢?
现在才几千行数据都要加载半天
Dim drd As DataRow
Dim c As DataRow 
Dim x As Integer
Dim i As Integer
i = 0

For x=0 To DataTables("顺丰_华伟订单").DataRows.count - 1

drd = DataTables("顺丰_华伟订单").DataRows(x)
Dim d As String = drd("运单号")

Dim drs As List(Of DataRow)

drs = DataTables("顺丰账务总表").Select("[运单号码]=" & "\'" & d & "\'" )

For Each dr As DataRow In drs
Tables("顺丰_华伟对账表").AddNew()


c = DataTables("顺丰_华伟对账表").DataRows(i)
c("序号") = dr("序号")
c("日期") = dr("日期")
c("运单号") = dr("运单号码")
c("寄件组织名称") = drd("寄件组织名称")
c("寄件人") = drd("寄件人")
c("收件人") = drd("收件人")
c("收件组织编码") = drd("收件组织编码")
c("收件组织名称") = drd("收件组织名称")
c("收件地址") = drd("收件地址")
c("备注") = drd("备注")
c("对方地区") = dr("对方地区")
c("对方公司名称") = dr("对方公司名称")
c("计费重量") = dr("计费重量")
c("产品类型") = dr("产品类型")
c("付款方式") = dr("付款方式")
c("费用元") = dr("费用(元)")
c("折扣促销") = dr("折扣/促销")
c("应付金额") = dr("应付金额")
c("经手人") = dr("经手人")
c("增值费用") = dr("增值费用")
i = i+1
Next
i =  DataTables("顺丰_华伟对账表").DataRows.count 
Next
[此贴子已经被作者于2020/10/11 3:14:57编辑过]

--  作者:有点蓝
--  发布时间:2020/10/11 20:15:00
--  
Select  这个方法要是没有找到数据返回一个空的集合

基本没有什么可以优化的了,查询新增几千行数据应该不用半天,估计是表事件有代码,然后每新增一行都触发了表事件又执行其他代码导致的,可以试试屏蔽事件:http://www.foxtable.com/webhelp/topics/2218.htm

--  作者:klkingkkk
--  发布时间:2020/10/13 9:51:00
--  
谢谢!!!!