以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  核销溯源码到SQL数据库数据更新问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122956)

--  作者:weibu
--  发布时间:2018/8/5 16:32:00
--  核销溯源码到SQL数据库数据更新问题
Dim pd As DataRow
Dim txt As String = Forms("盘点核销").Controls("TextBox1").Value
pd = DataTables("盘点单据").SQLFind("[盘点单号] = \'" & txt & "\'")  \'找出本次盘点单据的盘点数据
If pd IsNot Nothing Then \'如果本盘点号盘点单据有数据
     Dim syms As List(Of String)
     syms = DataTables("盘点单据").SQLGetValues("溯源码", "[盘点单号] = \'" & txt & "\'")\'找到本部门所有可用溯源码
          For Each sym As String In syms
               DataTables("溯源码").SQLReplaceFor("是否可用", 0,"当前所在部门 = \'" & pd("盘点部门") & "\' And 子溯源码 <> \'" & sym & "\'")
          Next
 MessageBox.Show("核销成功!", "提示")
 Else
         MessageBox.Show("核销时输入框单号保证存在且正确!", "提示")
End If

需求:有两个表“溯源码”和“盘点单据”,我希望 如果“溯源码”表中存在   “盘点单据”中没有的溯源码时,“溯源码”表中这些溯源码行所对应的列“是否可用”为FALSE;
我用的数据库是SQLserver。上面代码错那里了,帮忙看下,弄了很长时间都不对

--  作者:有点甜
--  发布时间:2018/8/5 20:45:00
--  
Dim pd As DataRow
Dim txt As String = Forms("盘点核销").Controls("TextBox1").Value
pd = DataTables("盘点单据").SQLFind("[盘点单号] = \'" & txt & "\'")  \'找出本次盘点单据的盘点数据
If pd IsNot Nothing Then \'如果本盘点号盘点单据有数据
    Dim syms = DataTables("盘点单据").SQLGetComboListString("溯源码", "[盘点单号] = \'" & txt & "\'").replace("|", "\',\'")   
    DataTables("溯源码").SQLReplaceFor("是否可用", 0,"当前所在部门 = \'" & pd("盘点部门") & "\' And 子溯源码 not in (\'" & syms & "\')")
    MessageBox.Show("核销成功!", "提示")
Else
    MessageBox.Show("核销时输入框单号保证存在且正确!", "提示")
End If