Office中国论坛/Access中国论坛
标题:
如何在窗体中设定一个命令按钮:先将本记录中相加到另外一个表中,接着删除本记录[
[打印本页]
作者:
爱小飞
时间:
2004-3-8 02:51
标题:
如何在窗体中设定一个命令按钮:先将本记录中相加到另外一个表中,接着删除本记录[
假设我的数据库有三个表:
表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来完成这个任务?
作者:
hi-wzj
时间:
2004-3-8 05:32
表1表3合并成一个表来处理比较好
作者:
爱小飞
时间:
2004-3-8 16:27
以下是引用
hi-wzj在2004-3-7 21:32:11
的发言:
表1表3合并成一个表来处理比较好
因为我认为员工辞职以后,相关的数据就不要了,我只需保存一个备份就可以了。所以我专门设定一个表3
能不能按我的思路来设计?谢谢!
作者:
hi-wzj
时间:
2004-3-8 20:42
员工辞职以后,相关的数据就不要了
如果辞职员工对在职时的工资有异议,就无法查询了.且还涉及外部门审计工资发放情况,都须保留历史记录,您须考虑这些问题.
能不能按我的思路来设计?
将例子放上来比较好说一些.
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3