Office中国论坛/Access中国论坛

标题: 这个怎么实现 [打印本页]

作者: sea.er    时间: 2003-6-30 16:35
标题: 这个怎么实现
[attach]957[/attach]  如果该业务员的养老金的状态为“已退”
那么当我点击“退养老金”按钮时,弹出对话框“该业务员养老金已退”,并且不再运行宏
怎么做,请帮忙改一下,谢谢
作者: baije    时间: 2003-7-1 02:53
档案还加密?
7597
不过问题我还是没明白。
作者: sea.er    时间: 2003-7-1 03:05
对不起,密码是7579
我的养老金表有一个字段“退否”
当我点击“退养老金”按钮时,运行一个宏
宏的作用是:1、打印报表(该业务员的养老金),2、将该业务员的“退否”字段更新为“是”
我想这样做:
如果“退否”字段已经为“是”,则弹出对话框“该业务员的养老金已退”,也不要在运行宏。
不知道我的意思表达清楚了没
作者: sea.er    时间: 2003-7-2 01:12
这个问题应该很简单吧
不过我不会vba
作者: sweetduck    时间: 2003-7-2 04:17
用宏也可以实现这样的功能

宏的消息框条件设置为
[退否]=true         "该业务员已退"
...                      stopmacro
同时建一个更新查询,更新“退否”字段
[退否]=false         运行更新查询
...                       运行打印宏

当然用VBA就只要 if 语句就好了


[此贴子已经被作者于2003-7-1 20:21:21编辑过]


作者: sea.er    时间: 2003-7-2 21:37
可能我笨吧
可否给我改改?
作者: sea.er    时间: 2003-7-4 02:34
这个我感觉真的很简单吧
为什么没人理我?!
我把密码去掉了,
帮帮忙嘛
[attach]1020[/attach]
作者: sea.er    时间: 2003-7-6 22:58
我真的不会vba,大家帮帮忙啊
作者: baije    时间: 2003-7-6 23:17
退否应在主表中,
你一退就是所有全退,不会只退某一个月吧。
那样主窗体中就好作了。
作者: baije    时间: 2003-7-6 23:27
另外工号会有重复?
你的库设计有问题。
表要简化。
工号、姓名、退否、退日期放一个表,
以工号作主键
id、工号、日期、保险金作另一个表,
ID作主键,
两表以工号建立关系。
窗体作相应更改。
在按钮事件中写上:
if dlookup("退否","工号","[工号]='" & me.工号 & "'")="-1" then
msgbox “该业务员养老金已退”
exit  sub
else:
......
end if

作者: sea.er    时间: 2003-7-6 23:34
首先再次感谢baije。我的退否字段就是在主表中啊;每一个月都有养老金,所以工号肯定要重复;如果退的话就是全部退掉,并不是只退一个月,如果不拆表的话可以实现吗?
作者: baije    时间: 2003-7-7 01:17
可以,不过要麻烦。
工号重复是指在工号表中,
如果输入时错误,某一个月的中是否退未输入,
那你说是退了还是没退?
另外你的姓名,退否,退日期为重复保留,
占用资源。不符合规范。
建议你还是更改好。

作者: sea.er    时间: 2003-7-7 01:42
不可能出现输入错误
因为我是用的追加,退否字段有默认值
而且一个人的退否为一个状态,即要么都为未退,要么都为已退
还有如果一个人的退过了,就表明他已离司,以后再也不会出现他的养老金




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