以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  能否实现此功能?  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=4016)

--  作者:edwu
--  发布时间:2006/9/20 16:52:00
--  能否实现此功能?
易表在进行记录编辑的时候,如果两个人同时在编辑一条记录,将以最后一个人存盘的记录为准,这样很容易丢失数据。能否做到当某人正在编辑一条记录的时候,另外的人要编辑此纪录时弹出提示框,提示此纪录别人正在编辑。
--  作者:dongd1
--  发布时间:2006/9/20 17:08:00
--  
应该不可以
--  作者:smileboy
--  发布时间:2006/9/20 17:22:00
--  
试试canwrite
--  作者:edwu
--  发布时间:2006/9/20 17:45:00
--  
我试试看。
--  作者:ylm
--  发布时间:2006/9/20 19:40:00
--  
canwrite估计不行的,加一标记列试试.
--  作者:smileboy
--  发布时间:2006/9/20 19:52:00
--  
下面引用由ylm2006/09/20 07:40pm 发表的内容:
canwrite估计不行的,加一标记列试试.

呵呵,还是YLM版主高
--  作者:jingjian315
--  发布时间:2006/9/20 22:54:00
--  
ylm斑竹,标记是如何加的?
--  作者:ylm
--  发布时间:2006/9/20 23:28:00
--  
也想不出好的办法,不妨这样试试(没有测试过,供参考):
加一列:编辑用户。
行预处理公式LockRow(Row)
表验证公式:LockAll()
行验证公式:if([编辑用户]<>UserName,True,MsgBox("本条数据还没有保存,请按 确定 后换行!",0))

录入窗口编辑公式:
if([编辑用户]="",SetCellTextGridName,Row,"编辑用户",UserName) And Save() And UnlockRow(row),
if([编辑用户]=UserName,UnlockRow(row),
MsgBox("本条数据其他人正在编辑,请稍候再试!",0)))

录入窗口确定公式:
if([编辑用户]=UserName,SetCellTextGridName,Row,"编辑用户","") andLockRow(Row)And Save() ,True )

以上公式,如数据量大时,估计会由于有存盘而比较慢的.


--  作者:edwu
--  发布时间:2006/9/21 12:49:00
--  
多谢YLM版主了,我去试试。不过也怕速度受影响。