我在几个表里面 都发现有这个问题
在 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 = "SELECT * From {商品资料} Where [条形码] = '" & dr("条形码") & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
dr("名称") = dt.DataRows(0)("名称")
dr("类别") = dt.DataRows(0)("类别")
dr("单位") = dt.DataRows(0)("单位")
dr("规格") = dt.DataRows(0)("规格")
dr("颜色") = dt.DataRows(0)("颜色")
dr("品牌") = dt.DataRows(0)("品牌")
dr("零售价") = dt.DataRows(0)("零售价")
dr("供货商") = dt.DataRows(0)("供货商")
dr("原价") = dt.DataRows(0)("成本价")
Else
dr("名称") = Nothing
dr("类别") = Nothing
dr("单位") = Nothing
dr("规格") = Nothing
dr("颜色") = Nothing
dr("品牌") = Nothing
dr("零售价") = Nothing
dr("供货商") = Nothing
dr("原价") = Nothing
End If
End If
If e.DataCol.Name = "条形码" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow = e.DataRow
cmd.C
cmd.CommandText = "SELECT * From {促销设定} Where [条形码] = '" & e.NewValue & "' And [起始时间] <= #" & dr("销售日期") & "# And [结束时间]>=#" & dr("销售日期") & "#"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
dr("促销折扣") = dt.DataRows(0)("促销折扣")
Else
dr("促销折扣") = Nothing
End If
End If
Select Case e.DataCol.Name
Case "折扣","零售价","促销折扣"
If e.DataRow(e.DataCol.Name) Then
e.DataRow("零售价")=Nothing
Else
If e.DataRow.IsNull("促销折扣") = False AndAlso e.DataRow("促销折扣") >=0 Then
e.DataRow("零售价")=e.DataRow("原价")*e.DataRow("促销折扣")
Else
e.DataRow("零售价")=e.DataRow("原价")*e.DataRow("折扣")
End If
End If
End Select
If e.DataCol.Name = "销售数量" Then
If e.DataRow.IsNull("销售数量") Then
e.DataRow("销售金额")=Nothing
Else
e.DataRow("销售金额")=e.DataRow("销售数量")*e.DataRow("零售价")
End If
End If