以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  _Identify列在赋值到其他表时出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190993)

--  作者:fx719
--  发布时间:2024/3/19 15:48:00
--  _Identify列在赋值到其他表时出错
With Tables("东营预报单")
    Dim rs As List(Of Row) = Tables("东营预报单").GetCheckedRows()\'获取复选框选中的行
   
            For Each r As Row In rs \'取所有选中的行
                Dim dr As DataRow = DataTables("东营计划清单").AddNew()\'增加到东营计划清单
                r("提报日期") = Date.today 
                r("计划号") = NO
                dr("YID") = r("YID") 
                messagebox.Show(r("YID"))
                dr("计划号") = r("计划号")
                dr("物码") = r("物码")
                dr("物码描述") = r("物码描述")
                dr("项目名称") = r("项目名称")
                dr("使用单位") = r("使用单位")
                dr("报单人") = r("报单人")
                dr("单位") = r("单位")
                dr("分配供应商") = r("供应商")
                dr("计划数量") = r("计划数量")
                dr("备注") = r("备注")
                dr("计划日期") = Date.today 
                dr("需求到货日期") = r("需求日期")
                dr("附件") = r("附件")
                dr("额外配套") = r("额外配套")
                dr("预留号") = r("预留or销售单号")
                dr("需求计划单号") = r("需求计划单号")
                dr("供应处结算") = r("供应处结算")
                dr("框架编号") = r("框架编号")
                dr("框架名称") = r("框架名称")
                dr("协议价格含税") = r("协议价格含税")
                dr.save()
                r("计划状态") = "已提报未提交"
                r.locked = True
                r.save()
                \'MessageBox.Show("报错出现在东营计划清单")
            Next
            Dim dt As DataRow = DataTables("东营计划").addnew()
            dt("计划号") = NO
            dt("报单日期") = Date.today
            dt("报单人") = user.name
            dt("年份") = Format(Date.today, "yyyy")
            dt.Locked = True
            dt.save()
            Tables("东营预报单").ClearCheckedRows

        End If
    End If
End With
图片点击可在新窗口打开查看
东营预报单 YID 是表达式 取的是[_Identify] 把数据从预报单赋值到东营计划清单其他列都没有问题 唯独这个YID列 会在跟其他人一起录入的时候时常出错可能变成别人的 ,别人的YID也会变错,我该怎么修改
[此贴子已经被作者于2024/3/19 15:50:25编辑过]

--  作者:有点蓝
--  发布时间:2024/3/19 16:13:00
--  
dr("YID") = r("_Identify") 这样有没有问题?
--  作者:fx719
--  发布时间:2024/3/20 8:52:00
--  
dr("YID") = r("_Identify")  这样也是会出问题
我现在发现我在新增行之后,另一个用户也同时新增行依旧会是我已经新增的YID需要怎么防止呢
[此贴子已经被作者于2024/3/20 8:52:59编辑过]

--  作者:有点蓝
--  发布时间:2024/3/20 9:08:00
--  
自增主键_Identify是由数据库分配的,所以保存后才是正确的值。

另外强烈不建议把自增主键用作业务关联,因为这个值并不是绝对不变的,在某种极端情况下可能会变,比如迁移数据库等。