Dim Filter As String
With e.Form.Controls("DropBox1")
If .Value IsNot Nothing Then
Filter = "内部加工单号 = '" & .Value & "'"
End If
End With
With e.Form.Controls("combobox1")
If .Value IsNot Nothing Then
If Filter > "" Then
Filter = Filter & " And "
End If
Filter = Filter & "工段 = '" & .Value & "'"
End If
End With
With e.Form.Controls("ComboBox2")
If .Value IsNot Nothing Then
If Filter >"" Then
Filter = Filter & " And "
End If
Filter = Filter & "产品名称 = '" & .Value & "'"
End If
End With
With e.Form.Controls("ComboBox3")
If .Value IsNot Nothing Then
If Filter >"" Then
Filter = Filter & " And "
End If
Filter = Filter & "工序名称 = '" & .Value & "'"
End If
End With
Dim cmd,cmd1 As New SQLCommand
Dim dt As DataTable
cmd.C
cmd1.C
cmd1.CommandText = "select * From {工序清单} " & iif(Filter>"", "Where " & filter, "")
dt = cmd1.ExecuteReader()
For Each r As DataRow In dt.dataRows
cmd.CommandText = "update 工序清单 SET 可派工量 = 工序数量 - b.派工量 from 工序清单 as a inner join (select 编号,sum(派工量) as 派工量 from 派工明细表 where 编号 = '" & r("编号") & "' group by 编号 ) As b on a.编号 = b.编号 where a.编号 = '" & r("编号") & " ' "
cmd.ExecuteNonQuery()
这里报错:
语法错误 (操作符丢失) 在查询表达式 '工序数量 - b.派工量 from 工序清单 as a inner join (select 编号,sum(派工量) as 派工量 from 派工明细表 where 编号 = 'qd01019676' gr oup by 编号 ) As b on a.编号 = b.编号' 中。
Next
这里是不是可以,直接用语句后台更新,不用 for each 循环。 语句如何写。
If Filter >"" Then
Filter = Filter & " And "
End If
Filter = Filter & "[可派工量] > 0 "
If Filter > "" Then
DataTables("工序库调用_Table1").LoadFilter = Filter '设置加载条件
DataTables("工序库调用_Table1").Load()
End If