以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助][求助]在Table表中插入一行数据后会删除其余行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183219)

--  作者:WeiTong
--  发布时间:2022/10/28 16:54:00
--  [求助][求助]在Table表中插入一行数据后会删除其余行
在表格中点击审核按钮就会进行入库操作,但是现在插入一行后就会删除其余行,且插入多行数据会一模一样

以下是写在DataColsChanged代码:
\'获取当前行信息
Dim r As Row = Tables("产品明细窗口_rkTable3").Current
Dim cid As String = r("产品id")
Dim tm As String = r("条码")
Dim Bomid As String = r("BOM编码")
Dim cxh As String = r("产品型号")
Dim sl As Integer = r("数量")
Dim dj As Integer = r("单价")
Dim jine As Integer = r("金额")
Dim cmd As New SQLCommand
cmd.C
\'判断审核状态进行条码入库
If e.DataCol.Name = "审核" Then
    If e.NewValue = True Then
        cmd.CommandText = "Insert Into {入库单条码明细}(审核,产品id,条码,BOM编码,产品型号,数量,单价,金额) Values(\'" & e.NewValue & "\',\'" & cid & "\',\'" & tm & "\',\'" & Bomid & "\',\'" & cxh & "\',\'" & sl & "\',\'" & dj & "\',\'" & jine & "\')"
        cmd.ExecuteNonQuery()
        MessageBox.Show("产品条码入库成功")
    End If
    If e.NewValue = False Then
        cmd.CommandText = "Delete Fro m {入库单条码明细} Where BOM编码 = \'" & Bomid & "\'"
        cmd.ExecuteNonQuery()
        MessageBox.Show("产品条码未入库")
    End If
End If

--  作者:有点蓝
--  发布时间:2022/10/28 17:03:00
--  
新增行会触发逻辑列的datacolchanged。

datarowAdding事件:
systemready = False
e.DataRow("审核") = False
systemready = True


--  作者:WeiTong
--  发布时间:2022/10/28 17:19:00
--  
但是插入多行后,同时插入的所有行都会变成最后一次编写那一行的数据
--  作者:有点蓝
--  发布时间:2022/10/29 9:40:00
--  
原因:http://www.foxtable.com/webhelp/topics/2925.htm