View Full Version : 怎么使文档的编号不重复?
wbl1984
14-09-06, 08:35 AM
文档的编号是自己填的,不能重复,第一次保存时没问题,可是如果编辑该文档再保存就会提示编号重复了,原因是把当前文档的编号的也对比了一下,结果发现重复了,那该怎么解决啊,大家帮忙,谢谢
r3station
14-09-06, 08:49 AM
使用公式 @unique就可以了.
原帖由 wbl1984 于 2006-9-14 08:35 AM 发表
文档的编号是自己填的,不能重复,第一次保存时没问题,可是如果编辑该文档再保存就会提示编号重复了,原因是把当前文档的编号的也对比了一下,结果发现重复了,那该怎么解决啊,大家帮忙,谢谢
你的对比文档编号是否重复的代码是写在哪里的?在那部分代码里面加个条件:判断当前文档 uidoc.IsNewDoc = true 则对比文档编号是否重复,否则就直接保存了。
jadeneo
14-09-06, 05:44 PM
楼上说的办法固然可行,但是如果一旦操作者进行了修改,则有可能造成文档编号重复了
建议:
1、填写文档编号不要直接在域里面填写,而是通过操作按钮来完成;
2、文档编号域为计算域(不让用户进行编辑);
3、填写文档编号的按钮隐藏条件,判断当前文档是新文档,则出现,否则隐藏。
wbl1984
15-09-06, 08:45 AM
原帖由 JadeNeo0423 于 2006-9-14 05:44 PM 发表
楼上说的办法固然可行,但是如果一旦操作者进行了修改,则有可能造成文档编号重复了
建议:
1、填写文档编号不要直接在域里面填写,而是通过操作按钮来完成;
2、文档编号域为计算域(不让用户进行编辑) ...
好象也不可以,我的文档号要用户自己填写的~~
像文档编号这样的应用,我们都采用 流水号 机制,简单的说是采用配置文档来控制编号!
jadeneo
15-09-06, 09:10 AM
原帖由 wbl1984 于 2006-9-15 08:45 AM 发表
好象也不可以,我的文档号要用户自己填写的~~
也没说不让你们的用户自己填写阿,你让他看到操作按钮他就可以填写了贝
同意三空建议。
我是用公式。
我猜你的保存前“编码”域值验证公式为 @If(@Contains(@DbColumn(...);编码域名);@Failure("编码重复");@Success);
建议改为:@If(@Contains(@DbColumn(...);编码域名)&@Isnewdoc;@Failure("编码重复");@Success);
r3station
15-09-06, 05:03 PM
在这个域的Exiting事件里再加一判断如何??
wbl1984
28-09-06, 04:08 PM
唉,还是没解决,我的要求是编号可以编辑的
简单。。。。你做一个视图。视图里面就放这些文档。。。
然后你在提交(保存)文档的时候。到这个视图里面寻找有没有和你当前编号一样的文档。
if no then
save
else
if doc.unid = viewdoc.unid then
save
else
msgbox "重复"
end if
end if
明白不???
vBulletin® v3.7.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.