以文本方式查看主题 - 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 |