设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 2255|回复: 20
打印 上一主题 下一主题

[窗体] 多机操作,打开同一记录的冲突问题,如何解决好(高手看一下)

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-21 10:42:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
(如附图)窗体数据输入“是”,原有记录通过查询窗体打开。出库表有一字段“审核”(是/否)。窗体按钮“审核”、“解除审核”处理相关表(如产品表库存字段、客户表的应付款字段),“审核”后窗体锁定,不能再改数据,“解除审核”后可恢复。所以还不是窗体属性“记录锁定”的问题。

多机操作,可能A、B两个前台同时打开一条记录,

A方式:
窗体数据操作(主表更改、删除,子表增、删、改)之前,先检测出库表的“审核”字段,决定是否能操作。处理好象蛮繁琐。

B方式:加一张AAA表,记录打开窗体记录的情况,防止A、B前台同时操作同一记录。

打开窗体(新记录还要多几句代码)
if AAA表里有记录 then
窗体功能按钮全部锁定
else
在AAA表里加记录,正常打开
end if

离开记录,或删除记录
if 本记录在AAA表里添加的 then
删除AAA表里的记录
end if

因为有可能窗体意外关闭,AAA表里的记录没有删除,还得给用户一个能手工删除的窗体,当然得做得象那么回事。

我想用B方式,还有其它的方式吗?

[ 本帖最后由 tz-chf 于 2008-8-21 10:46 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
21#
发表于 2008-9-17 11:23:26 | 只看该作者
没发现A方式有什么复杂之处呀?

五个事件:主表更新前、删除前,子表插入前、删除前、更新前 中写代码:
if dlookup("[审核]","出库表","[出库id]=" & me.出库id)=true then Cancel=true
这个好~~~
20#
发表于 2008-9-1 14:53:44 | 只看该作者
真好的解释。不错![:32]
19#
 楼主| 发表于 2008-8-21 15:14:46 | 只看该作者
原帖由 andymark 于 2008-8-21 15:05 发表
已审核与和未审核单据我是分开窗体来处理的
未审核窗体的数据源设置为: "select * from 表 wrher 审核字段=fase"
已审核窗体的数据源设置为: "select * from 表 wrher 审核字段=true"
对业务流程进分规范一下,基本 ...


不是已审核、未审核的问题,是可能两台电脑都打开同一记录的问题。
18#
 楼主| 发表于 2008-8-21 15:12:28 | 只看该作者
原帖由 hi-wzj 于 2008-8-21 14:46 发表
1\不undo,数据是未更新,但进退不得了,离不开这条记录了
undo一下不也就一个命令而已吗?


对呀!就是需要undo呀
17#
发表于 2008-8-21 15:05:07 | 只看该作者
已审核与和未审核单据我是分开窗体来处理的
未审核窗体的数据源设置为: "select * from 表 wrher 审核字段=fase"
已审核窗体的数据源设置为: "select * from 表 wrher 审核字段=true"
对业务流程进分规范一下,基本不会出现同时修改同一记录的问题
16#
发表于 2008-8-21 14:46:35 | 只看该作者
1\不undo,数据是未更新,但进退不得了,离不开这条记录了
undo一下不也就一个命令而已吗?
15#
 楼主| 发表于 2008-8-21 14:38:00 | 只看该作者
原帖由 hi-wzj 于 2008-8-21 14:21 发表
如果您是需要:第一个打开的正常操作,后打开的功能都无效 的话。
工具--选项--高级--默认记录锁定--编辑记录 选上即可。
不需要编制什么代码。


我不但要锁定记录的操作功能,还要锁定按钮
14#
 楼主| 发表于 2008-8-21 14:36:35 | 只看该作者
原帖由 hi-wzj 于 2008-8-21 14:19 发表
1、更新前如果cancel=true的话并不需要undo,因为数据并未得到更新。
2、记录被共享式打开并有更新时系统会自动出现提示的。比如两前台都打开了某记录。当某前台要更新该记录等,系统自动会提示其他人已打开该记录, ...


1\不undo,数据是未更新,但进退不得了,离不开这条记录了
2\系统的三个提示,用户不一定明白,不让操作用户倒是能明白

这玩意不是我自己用的,也不是给特定的某个人用的,所以尽量做得能理解一些.

[ 本帖最后由 tz-chf 于 2008-8-21 14:42 编辑 ]
13#
发表于 2008-8-21 14:21:59 | 只看该作者
如果您是需要:第一个打开的正常操作,后打开的功能都无效 的话。
工具--选项--高级--默认记录锁定--编辑记录 选上即可。
不需要编制什么代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-23 21:40 , Processed in 0.117784 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表