以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  外部表新增行并对主键赋值无反应  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109468)

--  作者:haige
--  发布时间:2017/11/13 9:35:00
--  外部表新增行并对主键赋值无反应
请问下,我在狐表里建了一个erp的外部表(该表以FBillID和FOrder作为联合主键,两个字段都不是自增的)
我希望新增行,就在命令窗口中写
Dim r As Row = Tables("Bill_ProdCost_Detail2").AddNew()
    r("FBillID") =dataTables("Bill_ProdCost_Detail2").compute("max(FBillID"))+1
    r("FOrder") = 2
    r.Save
点执行后发现确实新增了行,但FBillID和Forder都没有被赋值
再点一次执行就会报错说FBillID,FOrder被约束为唯一。
请问这是什么原因呢?如何才能在新增时给这两列赋值?多谢

--  作者:有点甜
--  发布时间:2017/11/13 9:46:00
--  
Dim r As DataRow = DataTables("Bill_ProdCost_Detail2").AddNew
r("FBillID") =DataTables("Bill_ProdCost_Detail2").compute("max(FBillID)")+1
r("FOrder") = 2
r.Save
 

--  作者:haige
--  发布时间:2017/11/13 9:56:00
--  
谢谢大大,请问必须要用datatable.addnew吗?
其实我是筛选了一部分数据行要对它们挨个进行复制行的操作,
如果我用datatable.addnew的话新增行就不会出现在当前table中了。

--  作者:有点甜
--  发布时间:2017/11/13 10:09:00
--  

 不出现,说明你筛选了数据。没有符合条件的行,自然不会出现。

 

 要想出现,你就给其它列也赋值不就好了?

[此贴子已经被作者于2017/11/13 10:09:22编辑过]