gemeng同志连发数贴询问输入一个工号自动得到姓名的问题,类似的问题最近在论坛看到了多个。这是一个关于字段值引用的问题,其处理方法分为上中下三策。为了便于初学者了解其中的处理技法,做三个视频如下:
点击下载此附件
一、下策
人员表:人员ID(主键),工号,姓名(也可用工号做主键)
班次表1:班次ID(主键),日期,班次,工号,姓名
处理方法:在窗体中的工号控件更新后事件中,用Dlookup函数写姓名字段。
此方案的缺陷是表的设计冗余,也就是说班次表1中的姓名字段是不必要的。
二、中策
人员表:人员ID(主键),工号,姓名(也可用工号做主键)
班次表2:班次ID(主键),日期,班次,工号
处理方法:写一个查询将人员表中的姓名字段引入到基于班次表所做的查询中,引入的方法有两种,其一是用两表联接的方式,其二是用Dlookup函数的方式。然后以这个查询作为数据源建立窗体。
此方案消灭了数据冗余,相对较优。与这个方法类似的,还可以不做查询,而是以班次表2做数据源建立窗体,而后在这个窗体中增加一个姓名的控件,该控件的数据源用Dlookup函数。
三、上策
人员表:人员ID(主键),工号,姓名(也可用工号做主键)
班次表3:班次ID(主键),日期,班次,工号
处理方法:直接在表中对工号字段建立查阅,然后以此表做数据源建立窗体。
此方法将工号与姓名字段的处理放入了一个控件内,控件的值为工号而显示出来的为姓名,使得处理更为简洁。