我是Domino设计师和Lotus脚本的新手,
我在设置唯一ID(表单中的id字段)方面存在一些问题。
我的Id字段值公式:
T_List:=@DbColumn("" : "NoCache"; "Local"; "DBintro";"testview"; 1); @If(@IsNewDoc & @Elements(T_List)=0;1;@IsNewDoc & !@IsError(T_List);@Subset(T_List;1) + 1;id)
我在本地拥有数据库(没有共享)。
引用this link答案AndrewB
服务器:本地
DBname:DBintro
查看名称:testview id - 表单中的字段(在需要保存在DB中时设置)
错误我正在
字段ID!不存在
请帮我摆脱这个.. 感谢
编辑:1更新代码
T_List:=@DbColumn("" : "NoCache"; "Local"; "DBintro";"testview"; 1);
T_List:=@Sort(T_List; [DESCENDING]);
@if(@Iserror(T_List);
1;
@Subset(T_List;1)+1
);
答案 0 :(得分:2)
将字段“testid”的类型设置为“Number”
将公式更改为
_List:=@DbColumn("" : "NoCache"; ""; "testview"; 1);
@If( @IsError(_List);
1;
_List = "";
1;
@Subset(_List; 1) + 1
)
将列排序设置为“降序”
答案 1 :(得分:1)
也许重新安排逻辑可能有所帮助 - 在Id字段的公式中尝试这一点。使字段“Computed When Composed”(在属性框中的字段typer旁边 - 这意味着它仅在首次创建文档时进行评估,并在保存后检测@IsNewDoc :-D后保持不变):
T_List:=@DbColumn("" : "NoCache"; "Local"; "DBintro";"testview"; 1);
@if(@Iserror(T_List);
1;
@Subset(T_List;1)
);
如果doc不是新的,你不必担心id字段返回自己,因为计算的when when字段在第一次保存后停止评估。
答案 2 :(得分:1)
dbColumn的错误公式。 servername和filename之间应该有一个冒号,而不是分号。当然,没有名为" Local"的服务器。你只需要使用""为了本地。此外,文件名是完整的文件名 - " DBintro.nsf",而不是" DBintro"。
T_List:=@DbColumn("Notes":"NoCache"; "":"DBintro.nsf";"testview"; 1);
T_List:=@Sort(T_List; [DESCENDING]);
@if(@Iserror(T_List);
1;
@Subset(T_List;1)+1
);
答案 3 :(得分:0)
您是否将唯一ID设置为文本字段,因为我发现公式必须转换为文本值而不仅仅是唯一的文档ID。