以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 一个奇怪的问题,写非狐表建立的表的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174664) |
-- 作者:hitzfeld -- 发布时间:2022/1/25 17:49:00 -- 一个奇怪的问题,写非狐表建立的表的问题 最近在做金蝶的数据库,发现了一个奇怪的问题?如果是狐表的表,新增记录我们直接addnew就可以了。但是非狐表的表引入之后,要写入记录则要加下面的代码: Tables("t_item").addnew \'t_item是金蝶的表 Tables("t_item").Position =0 With Tables("t_item") .Position = .Rows.Count - 1 End With \'写自己要的代码 Tables("t_item").current.save 如果不加Position哪段代码,则写入的必定是空行?(空行的意思是,addnew之后的全部代码都不执行,但是save有执行)。虽然能实现写表了。但是还是不理解为什么要这样才能正确写入?学生愚钝,请老师指教。 |
-- 作者:有点蓝 -- 发布时间:2022/1/25 20:39:00 -- 如果不是foxtable默认的主键,而是自定义主键的。应该这样操作 dim dr as datarow = dataTables("t_item").addnew dr("主键列") = "xxx" dr("某某列") = "xxx" dr.save dim idx as integer = Tables("t_item").findrow(dr) Tables("t_item").Position =idx
|
-- 作者:hitzfeld -- 发布时间:2022/1/27 1:21:00 -- 谢谢蓝老师!我又学习到新内容了。 但是对于原理还是没能理解(主要是不明白为什么是空行),您如果有空能给讲解下吗?谢谢!
|
-- 作者:有点蓝 -- 发布时间:2022/1/27 8:41:00 -- 非自增主键的表,不能使用table.addnew新增,而必须使用datatable.addnew新增,并且必须给主键列赋值 |
-- 作者:hitzfeld -- 发布时间:2022/1/28 3:54:00 -- 感谢蓝老师的耐心指点! |