老师,
有2个表,库存明细表和盘点明细表
通过以下代码,将盘点明细表的数量更新到库存明细表里
cmd.CommandText = " updat e 库存明细 set 实盘数量 = a.实盘数量 from 盘点明细表 As a where a.货号 = 库存明细.货号 And a.库存地点 = 库存明细.库存地点 And a.日期 = 库存明细.日期 "
cmd.ExecuteNonQuery()
有种情况,库存明细表没有记录,而盘点明细表却有
因为是只更新 实盘数量 到库存明细表,没有新增,就会导致漏掉。
我采用以下方法也可以实现,
但感觉好像慢了点,老师,有没有更高效的办法:
Dim dt1 As DataTable
Dim dt2 As DataTable
Dim dr1 As DataRow
cmd.CommandText = "selec t * from 盘点明细汇总表 where " & filter
dt1 = cmd.ExecuteReader()
cmd.CommandText = "selec t * from 库存明细 where " & filter
dt2 = cmd.ExecuteReader()
Dim hhs As List(Of String) = dt2.GetValues("货号")
For Each dr1 In dt1.DataRows
If hhs.Contains(dr1("货号")) = False Then
cmd.CommandText = " inser t into 库存明细 (库存地点,日期,货号,实盘数量) values ( '" & dr1("库存地点") & "','" & dr1("日期") & "','" & dr1("货号") & "', '" & dr1("实盘数量") & "' ) "
cmd.ExecuteNonQuery
End If
Next