Office中国论坛/Access中国论坛
标题: [求助]当光标从access外的程序转入尚未生成记录的表单子窗体时发生错误 [打印本页]
作者: min_summer 时间: 2007-5-28 23:58
标题: [求助]当光标从access外的程序转入尚未生成记录的表单子窗体时发生错误
假如: 我有一个窗体, 含有一个子窗体, 主窗体某一字段A为必填且不能为空, 打开这个窗体的时候为新增状态, 主窗的某些字段已经按预定的要求生成了, 在我还没有输入主窗中的字段A时, 我的鼠标移动到了其他程序, 比如MSN等, 当我从MSN回到ACCESS的这个窗体时, 要是我的光标不小心进入了子窗体的范围,就会跳出一个窗口, 提示错误, 非得点几十次才会恢复正常状态, 要是广播标点在主窗体的范围内,就还是很正常,
我想问的是: 如何判断进入该窗体之前的光标是在本ACCESS档案内,还是在ACCESS以外的程序, 或者 从其他程序转入ACCESS窗口时,让光标只能在主窗体范围内?
[此贴子已经被作者于2007-5-28 16:27:28编辑过]
作者: Grant 时间: 2007-5-29 02:11
将子窗体的添加属性 AllowAdditions 设置为 False
更新主窗体关键字段后返回 True
试试看,希望对你有帮助.
作者: min_summer 时间: 2007-5-29 04:07
Grant 版主,我试了, 可是 还是没有用,用setfocus 也没有用,
只要从其他程序返回到ACCESS 它都会有如下的提示
为这个字段的BeforeUpdate 或ValidationRule属性设置的宏或函数将阻止Microsoft office Access在字段中保存数据。
* 如果这是一个宏, 可打开“宏”窗口的宏且删除实施保存的操作, 例如 gotoControl
* 如果宏中包含SetValue操作, 则可将此宏设置为控件的的Afterupdate属性
* 如果这是一个函数, 请在模块窗口中重新定义该函数
然后需要点这个提示框的确定按扭几十次, 才会去掉这个窗口的提示, 好烦的, 只是一个单纯的父子窗体, 就会变成这样了
版主在帮我想想啊!
作者: andymark 时间: 2007-5-29 04:47
应该是你的代码有问题,把例子传上来
作者: min_summer 时间: 2007-5-29 05:03
andymark, 谢谢你,
你帮我看看, 但窗体1打开后, a b 字段都输了数据后, c字段不要输记录, 然后,你打开如msn 等窗口的聊天记录, 再转回到ACCESS 的窗口, 但光标移在子窗体的范围时, 就会有那个提示了
[attach]24681[/attach]
作者: min_summer 时间: 2007-5-29 05:12
andymark 你还没有走吧?
作者: andymark 时间: 2007-5-29 05:25
把表1的C字段的必填属性改为否
作者: min_summer 时间: 2007-5-29 19:04
Andymark,我知道C字段的必填属性改为否的话, 就好了, 可是 这个C字段我就是要必填啊, 而且不能为空, 一方面因为要求要填, 另一方面当这个字段为空的时候, 退出就不会保存记录拉, 当然还可以通过退出的时候取消这笔记录也可以,
可是既然发现了会有这样的问题,我还是想知道要是我不改字段属性的话, 该怎么解决这个问题
[em04]
[此贴子已经被作者于2007-5-29 11:42:05编辑过]
作者: Grant 时间: 2007-5-29 19:46
必填属性可以在窗体中用VBA来判断
或者你还可以试试设置子窗体属性可用 Enabled 为 False
更新后改为 True
试过均可行.
作者: min_summer 时间: 2007-5-29 23:21
谢谢Grant 板主, 用enalbe 可以了! [em01]谢谢
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |