-- 作者:kaituozhe
-- 发布时间:2018/6/29 9:19:00
--
不想加载表,使用黄色代码来提取数据,速度好慢呀,如果加载进来数据量又非常大,该怎么办?
Dim filter As String = "BillId = \'"& e.DataRow("销售内码") & "\'" \'Dim filter2 As String = "BillId = \'"& e.DataRow("销售内码") & "\'and ord = \'"& e.DataRow("单据行号") & "\' " \'Dim filter3 As String = "UserCode = \'"& e.DataRow("单位编号") & "\'" \'Dim filter4 As String = "BaseRec = \'"& e.DataRow("商品编号") & "\'" \'Dim filter5 As String = "UserCode = \'"& e.DataRow("供应商编号") & "\'" \'Dim filter6 As String = "PRec = \'"& e.DataRow("商品编号") & "\'" Dim cmd1 As New SQL Command Dim dt1 As DataTable cmd1.Conn ecti cmd1.Com mandText = "SEL ECT DISTINCT * From {BillIndex}" dt1 = cmd1.ExecuteR eader()
Select Case e.DataCol.name Case "销售内码" Dim dr As DataRow = dt1.find(filter) \'DataTables("BillIndex").find(filter) If dr IsNot Nothing Then e.DataRow("单据编号") = dr("BillCode") e.DataRow("日期") = dr("BillDate") e.DataRow("单位编号") = CStr(Format(dr("BRec"),"00000") ) e.DataRow("单据摘要") = dr("Comment") End If \'Dim dr2 As DataRow = DataTables("SaleBill").find(filter2) \'If dr2 IsNot Nothing Then \'\'e.DataRow("单据行号") = dr2("ord") \'e.DataRow("商品编号") = dr2("PRec") \'e.DataRow("生产日期") = dr2("OutFactoryDate") \'e.DataRow("有效日期") = dr2("ValidityPeriod") \'e.DataRow("销售数量") = dr2("Qty") \'e.DataRow("销售单价") = dr2("SalePrice") \'e.DataRow("销售金额") = dr2("TaxTotal") \'e.DataRow("供应商编号") = CStr(Format(dr2("ProviderId"),"00000") ) \'End If \'\'e.DataRow("销售明细金额") = DataTables("SaleBill").Compute("sum(TaxTotal)",filter) \'Case "单位编号" \'Dim dr3 As DataRow = DataTables("btype").find(filter3) \'If dr3 IsNot Nothing Then \'e.DataRow("单位名称") = dr3("FullName") \'End If \'Case "商品编号" \'Dim dr4 As DataRow = DataTables("BaseNameChange").find(filter4) \'If dr4 IsNot Nothing Then \'e.DataRow("商品名称") = dr4("Name") \'End If \'Dim dr6 As DataRow = DataTables("BuyBill").find(filter6) \'If dr6 IsNot Nothing Then \'e.DataRow("成本单价") = dr6("SalePrice") \'End If \'Case "供应商编号" \'Dim dr5 As DataRow = DataTables("btype").find(filter5) \'If dr5 IsNot Nothing Then \'e.DataRow("供应商名称") = dr5("FullName") \'End If \'Case "销售金额","成本金额" \'e.DataRow("利润") = e.DataRow("销售金额") - e.DataRow("成本金额") \'Case "成本单价","销售数量" \'e.DataRow("成本金额") = e.DataRow("销售数量") * e.DataRow("成本单价") \'Case "利润" \'If e.DataRow("销售金额") <> 0 Then \'e.DataRow("利润率") = e.DataRow("利润")/e.DataRow("销售金额") \'End If End Select
|