Office中国论坛/Access中国论坛

标题: 当子窗体被修改后,就和主窗体的文本框一样禁止滚轮 [打印本页]

作者: goto2008    时间: 2007-8-26 18:58
标题: 当子窗体被修改后,就和主窗体的文本框一样禁止滚轮
请看图片.....

我下载了黄海版主的禁止滚轮例子......由于他的窗体都是一些文本框
而我必须在主窗体里插一个子窗体

现在的问题是
当子窗体有编辑时,,,,,,再把光标移到主窗的文本框....滚一下滚轮,
就会把子窗体的记录自动保存了.

我想实现的是
当编辑子窗体后,,,主窗体的文本框就不能滚动..
只有点击"保存"按扭后,才可以使用滚轮滚动.

[ 本帖最后由 goto2008 于 2007-8-26 19:02 编辑 ]
作者: t小宝    时间: 2007-8-26 21:05
原帖由 goto2008 于 2007-8-26 18:58 发表

现在的问题是
当子窗体有编辑时,,,,,,再把光标移到主窗的文本框....滚一下滚轮,
就会把子窗体的记录自动保存了.


其实,只要把焦点移到主窗体,不用滚一下滚轮,子窗体记录已经自动保存了
作者: goto2008    时间: 2007-8-26 21:08
原帖由 t小宝 于 2007-8-26 21:05 发表


其实,只要把焦点移到主窗体,不用滚一下滚轮,子窗体记录已经自动保存了

大哥,,你说怎么样办.....

不要让子窗体这样自动保存....
作者: t小宝    时间: 2007-8-26 21:24
在子窗体的代码窗口顶部声明公用变量如:
Public b As Boolean

在子窗体的更新前事件写:
If b= falseThen
    Cancel = True
else
    b=false
End If


把主窗体上的保存按钮改用标签来做,在这个按钮的单击事件中写:
Me.子窗体.Form.b= true
DoCmd.RunCommand acCmdSaveRecord

作者: goto2008    时间: 2007-8-27 11:31
谢谢小宝。
我先试一下,如有问题,再上来请教
作者: goto2008    时间: 2007-8-27 22:48
大哥。。能把库传上来看看吗?
作者: andymark    时间: 2007-8-27 23:54
原帖由 goto2008 于 2007-8-26 21:08 发表

大哥,,你说怎么样办.....

不要让子窗体这样自动保存....


子窗体就不要绑定控件,或用临时表,保存时才把记录追加到表
作者: goto2008    时间: 2007-8-28 09:46
采用绑定,,,请问还有没有更好的办法禁止滚动自动保存????
实在不行,,得翻工了
作者: andymark    时间: 2007-8-28 09:52
ACCESS本身输入就自动保存
作者: t小宝    时间: 2007-8-28 22:33
原帖由 goto2008 于 2007-8-28 09:46 发表
采用绑定,,,请问还有没有更好的办法禁止滚动自动保存????
实在不行,,得翻工了

如下:
[attach]26012[/attach]

没有这么严重吧!
不能禁止自动保存就让它自动保存好了,还用翻工?任何事物都是有两面性的,在享受ACCESS的便利的同时还要忍受它的缺点。看了好多微软的例子和各位大师的作品,基本上都是用自动保存的,不再另加一个保存按钮。

禁止自动保存的设计是比较麻烦的,特别是在有子窗体的情况下。象你的例子,必须在主窗体用标签(因为它不接受焦点)来做保存按钮。。。总之是麻烦。而且每次子窗体更改记录后都要再用鼠标来点击保存。

当然,如果数据非常重要,不能随意更改,麻烦一点也算值得。不过总觉得这种方式不太爽。所以有人就采用非绑定窗体和临时表等来解决。
我推荐一种方法:把窗体(包括子窗体)设为不可编辑,在窗体上加一按钮或复选框,点一回,窗体记录可编辑,再点一回,窗体不可编辑,当然你还可以让某些用户不能看见这个按钮。。。
作者: andymark    时间: 2007-8-28 22:40
禁用滚轮有一点很重要的,不能通过滚轮来新增记录,否则一切都没意义
作者: goto2008    时间: 2007-8-29 11:56
原帖由 t小宝 于 2007-8-28 22:33 发表

我推荐一种方法:把窗体(包括子窗体)设为不可编辑,在窗体上加一按钮或复选框,点一回,窗体记录可编辑,再点一回,窗体不可编辑,当然你还可以让某些用户不能看见这个按钮。。。 ...



小宝大哥我看你改的例子了......确实是有点像你说的那样...每改一行,,就得保存..蛮麻烦的
你的最后面这个方法.....我再试试....
作者: wu8313    时间: 2007-8-29 12:54
标题: 禁用鼠标滚轮
http://bbs.office-cn.net/dispbbs ... ID=45976&page=1
=====================================================
这个是我认为目前最好的。
作者: goto2008    时间: 2007-8-29 13:57
原帖由 wu8313 于 2007-8-29 12:54 发表
http://bbs.office-cn.net/dispbbs.asp?boardID=2&ID=45976&page=1
=====================================================
这个是我认为目前最好的。



你好...我想问一下.这个例子..虽然是限制滚轮
但会不会一输入数据,就马上自动保存?????
作者: lisj    时间: 2007-12-2 18:01
学习中..... :handshake
作者: yori2007    时间: 2008-3-29 11:33
[:50]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3