以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于内部表编号自动增量的问题!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12926)

--  作者:gaoyong30000
--  发布时间:2011/9/20 20:39:00
--  [求助]关于内部表编号自动增量的问题!

 

菜单的保存按钮里有段代码 用于同步 数据表和历史回访情况

Dim f As New Filler
f.SourceTable = DataTables("A") \'指定数据来源
f.SourceCols = "编号,意向级别,最后联系日期,最后一次回访情况,备注" \'指定数据来源列
f.DataTable = DataTables("B") \'指定数据接收表
f.DataCols = "编号,意向级别,最后联系日期,最后一次回访情况,备注" \'指定数据接收列
f.ExcludeExistValue =True
f.ExcludeNullValue =False
f.Distinct =True
f.Append =True
f.Fill()

 

但是表A  编号列用了表达式 _Identify 后  点保存的时候  表B编号列变成了空值  貌似表达式列无法引用

 

所以 后来我用了自动增量代码 在datarowadding里

e.DataRow("编号") = e.DataTable.Compute("Max(编号)") + 1

 

 

但是发现一个问题 由于项目里afteropenproject里 有这段代码

DataTables("销售意向客户进度管制").LoadFilter = "销售顾问 = \'" & User.Name & "\'"
DataTables("销售意向客户进度管制").Load()

 

结果 如果我用业务员 B进入项目后(当前表有25行数据) 筛选后只有5行数据  增加一行后 编号自动变成了6  而不是26

 

请问如何解决 是否一定要用外部数据源?

 

另外这个项目是多人局域网操作的!

[此贴子已经被作者于2011-9-20 22:13:00编辑过]

--  作者:gaoyong30000
--  发布时间:2011/9/20 22:39:00
--  

研究了一晚上 终于解决了!

 

研究了这么久 栽在了一个小细节上

 

自动编号与关联

提示:_Identify是整数型的,所以和其关联的列,必须也是整数型的数据列。

 

之前B表 编号关联列 没弄整数型 结果导致 B表的编号列 用代码后 还是为空值

 

导致我以为这个方案行不通的~~~~~ 另寻解决办法了 绕了个大弯子

[此贴子已经被作者于2011-9-20 22:40:34编辑过]