入库明细表中,DataColChanged 中写入
If e.DataCol.Name = "定额编码" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
Dim dr As DataRow = e.DataRow
cmd.CommandText = "SELE CT * Fro m {材料} Where [定额编码] = '" & dr("定额编码") & "'"
dt = cmd.ExecuteReader()
If dt.DataRows.Count > 0 Then
dr("入库单价") = dt.DataRows(0)("成本价")
Else
dr("入库单价") = Nothing
End If
这个代码,这样写是为了输入时,自动从:材料表,提取原料已经输入了的:成本价,避免重复录入同样的价格。
但是,如果我为了测试,或为了批量修改一些数据,我执行了:入库明细表,定额编码,列的,重置。这样是不是这个代码还是要执行,把我已经录入的:入库单价,改成:材料表中的成本价。这样就错了。
有没有什么办法调整一下这个代码。让我既能输入时,利用材料表的已录入价格,又避免我重置 :入库明细-定额编码列时,不改数据 ?