设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1991|回复: 3
打印 上一主题 下一主题

[窗体] 如何在窗体中设定一个命令按钮:先将本记录中相加到另外一个表中,接着删除本记录[

[复制链接]
跳转到指定楼层
1#
发表于 2004-3-8 02:51:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
假设我的数据库有三个表:

表1:基本数据
字段:JB_ID(自动编号)、员工姓名(文本,主键)、家庭住址(文本)

表2:工资数据
字段:GZ_ID(自动编号、主键)、员工姓名(文本)、工资总额(文本)

表3:辞职数据
字段:CZ_ID(自动编号)、员工姓名(文本)、辞职时间(日期)、辞职原因(文本)

其中表1和表2的关系是一对多的关系,并且是级联删除相关记录,表3和其它的表没有关系。
只有一张窗体来管理表2作为子窗体含在表1中。

我想在窗体中设计一个删除按钮,但有员工辞职时,我按这个删除按钮,数据库先将当前员工的记录添加到表3中,然后执行删除动作,将表1表2中的该员工记录删除掉。

我首先是这样做的:在查询中建立两个查询:
a查询是追加查询,以表1为基础,然后添加两个字段:辞职日期: [请输入辞职日期];辞职原因: [请输入辞职原因],在条件中我是这样设定的:字段“员工姓名”的条件为:[form]![员工基本数据库]![员工姓名]

b查询是删除查询,也以表1为基础,在条件中也是这样设计的:字段“员工姓名”的条件为:[form]![员工基本数据库]![员工姓名]

然后我就编写一个宏:操作步骤如下:
Msgbox(提示一下是否要删除本记录)
Gotocontrol(控件名称是员工记录)
Openquery(查询名称指向a查询,视图为数据表,数据模式为编辑)
Gotocontrol(控件名称是员工记录)
Openquery(查询名称指向b查询,视图为数据表,数据模式为编辑)

然后将窗体中的删除按钮指向这个宏。

当我点击删除按钮的时候,出现了错误,数据库将所有在表1中的数据添加到了表3,并且删除了表1中的所有数据。而并没有按我的要求将窗体中的当前记录添加到表3,并删除当前记录。

由于我不太熟悉VBA,因此请教各位大侠如何编写VBA来完成这个任务?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
4#
发表于 2004-3-8 20:42:00 | 只看该作者
员工辞职以后,相关的数据就不要了
如果辞职员工对在职时的工资有异议,就无法查询了.且还涉及外部门审计工资发放情况,都须保留历史记录,您须考虑这些问题.

能不能按我的思路来设计?
将例子放上来比较好说一些.
3#
 楼主| 发表于 2004-3-8 16:27:00 | 只看该作者
以下是引用hi-wzj在2004-3-7 21:32:11的发言:
表1表3合并成一个表来处理比较好


因为我认为员工辞职以后,相关的数据就不要了,我只需保存一个备份就可以了。所以我专门设定一个表3

能不能按我的思路来设计?谢谢!
2#
发表于 2004-3-8 05:32:00 | 只看该作者
表1表3合并成一个表来处理比较好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-23 15:26 , Processed in 0.183115 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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