[操作技巧]如何实现自动锁定非光标所在行
很多情况下为了避免数据被更改,用户编辑完一行数据在离开该行的时候希望自动把该行锁定;那么如何实现呢?
其实实现起来非常简单:我们只要把该表的行验证公式设置为:LockRow(row)就可以了。
LockRow()函数的作用就是锁定指定行,LockRow(row)表示锁定当前行;
关于行验证公式:行验证公式是一个逻辑表达式,用于验证当前记录是否符合某一指定的条件。在换行或者执行任何命令之前,都会计算这个逻辑表达式,如果表达式不成立,则会拒绝换行或执行命令。行验证公式也可以用来在换行前执行某些操作。
注意:如果执行了重新计算(如按F6、F9或者应用了自动格式……)等菜单命令会出发行验证公式;所以,在应用这个锁定上一行技巧的时候最好要检查一下该行是否设置了还有菜单命令的操作公式,否则有可能会出现该行还没编辑完就被锁定的情况,反而会给工作带来不便。
演示文件:
egd文件下载
那么当光标又回到前面被锁定的行时能否自动解锁呢?其实也很简单,只要把该表的行预处理公式设置为:UnLockRow(row)就可以了。
关于行预处理公式:用户进入某行数据的时候,就会立即执行预处理公式,通常用来根据当前用户和当前行数据进行一些操作,例如提示用户注意事项,或者锁定(或解锁)某些列,行预处理公式通常和列的操作公式配合使用。
这也就是说当光标回到某行的时候,该行又会自动解锁,如下面的演示文件:
egd文件下载
综上所述,在行验证公式和行预处理公式结合使用LockRow()函数和UnLockRow()函数就可以实现自动锁定非光标所在行。