




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第12章章 Access数据库综合实例数据库综合实例n 本章通过一个综合应用实例将前面所学习的建立各本章通过一个综合应用实例将前面所学习的建立各对象的方法有机的联系起来,构建一个完整的对象的方法有机的联系起来,构建一个完整的Access数据库应用系统。数据库应用系统。12.1 总体设计总体设计 12.1.1需求分析 12.1.2数据库设计原则 12.2 库存管理系统的设计库存管理系统的设计12.2.1系统分析12.2.2系统设计 12.3 库存管理系统实例制作库存管理系统实例制作 12.3.1创建新数据库12.3.2创建表12.3.3设置各表间的关系12.3.4 填写入库/出库单12.3.5
2、 维护入库/出库单信息12.3.6查询入库/出库单信息12.3.7报警处理12.3.8报表设计 12.4库存管理系统的集成库存管理系统的集成12.4.1 系统主控界面设计 12.4.2 系统开始界面设计 12.1 总体设计总体设计在使用在使用Access 2003建立数据库的表、窗体和其他对象之前,设计数建立数据库的表、窗体和其他对象之前,设计数据库是很重要的。合理的设计是创建能够有效地、准确地、及时地完据库是很重要的。合理的设计是创建能够有效地、准确地、及时地完成所需功能的数据库的基础。没有好的设计,数据库不但在查询方面成所需功能的数据库的基础。没有好的设计,数据库不但在查询方面效率低下而且
3、也较难维护。效率低下而且也较难维护。在进行数据设计之前必须清楚这个系统需要实现什么样的功能,然后在进行数据设计之前必须清楚这个系统需要实现什么样的功能,然后再细化到数据库各个组件的设计上。一般来说,设计的过程是如图再细化到数据库各个组件的设计上。一般来说,设计的过程是如图12-1-1进行的。进行的。规划系统设计流程 了解用户需求并设计基本结构 分析与设计数据库 设计基本表 设计窗体、报表等其他组件 最后测试、完成 图12-1-1 数据库设计过程 12.1.1 需求分析需求分析在开始设计数据库之前,需要确定数据的目的以及如何使用,尽量多了在开始设计数据库之前,需要确定数据的目的以及如何使用,尽量
4、多了解一些有关数据库的设计要求,弄清用户需要从数据库得到什么样的信解一些有关数据库的设计要求,弄清用户需要从数据库得到什么样的信息。息。1数据库设计的主要步骤数据库设计的主要步骤正式实施数据库设计时,主要的过程具体有以下几个步骤。正式实施数据库设计时,主要的过程具体有以下几个步骤。(1)确定数据库中需要的表。)确定数据库中需要的表。(2)确定该表中需要的字段。)确定该表中需要的字段。(3)明确每条记录中有唯一值的字段。)明确每条记录中有唯一值的字段。(4)确定表之间的关系。)确定表之间的关系。(5)输入数据,创建其他数据库对象。)输入数据,创建其他数据库对象。要实现上述目标,最好的方法就是与将
5、使用数据的人员进行交流,集体要实现上述目标,最好的方法就是与将使用数据的人员进行交流,集体讨论需要解决的问题,并描述需要生成的报表;与此同时收集当前用于讨论需要解决的问题,并描述需要生成的报表;与此同时收集当前用于记录数据的表格,然后参考某些设计得很好并且与当前要设计的数据库记录数据的表格,然后参考某些设计得很好并且与当前要设计的数据库相似的数据库。相似的数据库。2创建数据库时要做的准备创建数据库时要做的准备在创建一个数据库之前必须明确的有。在创建一个数据库之前必须明确的有。(1)数据库必须能够管理用户期望的输出和打印输出所有必须具备的信)数据库必须能够管理用户期望的输出和打印输出所有必须具备
6、的信息。息。(2)数据中不保存不必要的信息。)数据中不保存不必要的信息。(3)弄清数据应该为用户所做的操作和应解决的问题。)弄清数据应该为用户所做的操作和应解决的问题。(4)明确用户通过什么样的界面来操作数据库中的数据和输出。)明确用户通过什么样的界面来操作数据库中的数据和输出。 3数据库用户的分类数据库用户的分类数据库设计完成之后,所面对的是数据库的用户,不同的用户对于同一数据库设计完成之后,所面对的是数据库的用户,不同的用户对于同一个数据库会有不同的使用,因此明确谁将使用数据库是很重要的。个数据库会有不同的使用,因此明确谁将使用数据库是很重要的。通常数据库的用户分为以下通常数据库的用户分为
7、以下3种情况使用数据库。种情况使用数据库。(1)将数据添加到数据库中。)将数据添加到数据库中。(2)编辑、操作和整理输出数据库中的数据。)编辑、操作和整理输出数据库中的数据。(3)查询数据中的数据。)查询数据中的数据。从设计角度来看,应按不同类型的用户设计数据库的表、窗体和报表。从设计角度来看,应按不同类型的用户设计数据库的表、窗体和报表。 12.1.2数据库设计原则数据库设计原则一个好的数据库必须在开发时使数据库结构满足一定的条件和原则。简化一个一个好的数据库必须在开发时使数据库结构满足一定的条件和原则。简化一个数据库结构的过程被称为数据库结构的过程被称为“数据标准化数据标准化”。该理论最早
8、在。该理论最早在20世纪世纪70年代提出来,年代提出来,在此后的许多年中,该理论得到不断的发展和扩充。在此后的许多年中,该理论得到不断的发展和扩充。标准化数据库设计的一些原则如下。标准化数据库设计的一些原则如下。 (1)减少数据的冗余和不一致性:如果数据库存在冗余和不一致问题,用户每)减少数据的冗余和不一致性:如果数据库存在冗余和不一致问题,用户每次向数据库中输入数据时,都有发生错误的潜在可能。例如,人事信息数据库次向数据库中输入数据时,都有发生错误的潜在可能。例如,人事信息数据库中,如果在多个不同的表中都包含姓名的输入,那么用户在多次输入时,就有中,如果在多个不同的表中都包含姓名的输入,那么
9、用户在多次输入时,就有可能发生错误。可能发生错误。(2)简化数据检索:数据库中保存的信息必须能够根据需要快速地显示出来,)简化数据检索:数据库中保存的信息必须能够根据需要快速地显示出来,否则,使用计算机自动化的数据库系统将没有任何意义。否则,使用计算机自动化的数据库系统将没有任何意义。(3)保证数据的安全:数据库中的数据,必须具有一定的安全性,输入数据库)保证数据的安全:数据库中的数据,必须具有一定的安全性,输入数据库中的数据在输出显示时,必须对应显示原有的数据。中的数据在输出显示时,必须对应显示原有的数据。(4)维护数据的方便性:数据库中的数据在每次更新或删除时,都必须将数据)维护数据的方便
10、性:数据库中的数据在每次更新或删除时,都必须将数据库中所有出现与它相关的地方做出改变,并且在设计数据库时,要考虑到数据库中所有出现与它相关的地方做出改变,并且在设计数据库时,要考虑到数据的修改,最好在尽量少的操作步骤中完成。的修改,最好在尽量少的操作步骤中完成。 12.2 库存管理系统的设计库存管理系统的设计 在市场经济中,销售是企业运作的重要环节,为了更好地推动销售,不在市场经济中,销售是企业运作的重要环节,为了更好地推动销售,不少企业建立了分公司或代理制,通过分公司或代理商把产品推向最终用少企业建立了分公司或代理制,通过分公司或代理商把产品推向最终用户。销售公司的增加和销售渠道的复杂化促使
11、了物流业的发展。户。销售公司的增加和销售渠道的复杂化促使了物流业的发展。进入信息化时代以及电子商务的发展,对库存管理的要求更高。传统的进入信息化时代以及电子商务的发展,对库存管理的要求更高。传统的库存管理,一批产品从入库到出库,要经过多个环节,而且具有如下几库存管理,一批产品从入库到出库,要经过多个环节,而且具有如下几个弊端:手工处理入库、出库造成产品供应效率低,影响企业发展;手个弊端:手工处理入库、出库造成产品供应效率低,影响企业发展;手工完成大量的入库、出库和库存统计,造成库存产品汇总困难,使库存工完成大量的入库、出库和库存统计,造成库存产品汇总困难,使库存结构难以掌握;仓库与管理部门之间
12、信息交流少,造成库存积压,使资结构难以掌握;仓库与管理部门之间信息交流少,造成库存积压,使资金周转缓慢。建立计算机化的库存管理系统可以对解决这些问题提供有金周转缓慢。建立计算机化的库存管理系统可以对解决这些问题提供有效地帮助。效地帮助。一般来说,利用库存管理系统可以在以下方面提高企业管理的水平。一般来说,利用库存管理系统可以在以下方面提高企业管理的水平。(1)提高管理效率,降低人工成本。)提高管理效率,降低人工成本。(2)降低采购成本。)降低采购成本。(3)减少仓储面积,提高房产综合利用。)减少仓储面积,提高房产综合利用。(4)降低储备资金占用。)降低储备资金占用。 12.2.1系统分析系统分
13、析根据商业企业库存管理现状进行分析,库存管理系统要能处理库存中大根据商业企业库存管理现状进行分析,库存管理系统要能处理库存中大量的数据并完成繁琐复杂的统计计算;库存管理系统要能及时提供准确、量的数据并完成繁琐复杂的统计计算;库存管理系统要能及时提供准确、适用的库存信息,可以使管理者合理安排库存,加速资金周转。适用的库存信息,可以使管理者合理安排库存,加速资金周转。根据库存管理的业务流程和要求,库存管理系统数据流程图如图根据库存管理的业务流程和要求,库存管理系统数据流程图如图12-2-1所示。所示。入库单库存入库处理出库处理入库统计出库单库存统计出库统计报警处理催货处理报表统计图12-2-1 库
14、存管理系统数据流程图 12.2.2系统设计系统设计完成了库存管理系统分析,确定库存管理系统的数据流程和功能后,就可以进行完成了库存管理系统分析,确定库存管理系统的数据流程和功能后,就可以进行系统设计了。主要包括数据库设计和模块设置。系统设计了。主要包括数据库设计和模块设置。1数据库设计数据库设计根据库存管理系统分析,库存管理系统处理的数据涉及的表有入库表、出库表、根据库存管理系统分析,库存管理系统处理的数据涉及的表有入库表、出库表、库存表以及商品信息等。要使所有表既无数据冗余,又无传递依赖,可将库存管库存表以及商品信息等。要使所有表既无数据冗余,又无传递依赖,可将库存管理系统数据库定义为理系统
15、数据库定义为5张表,包括商品入库表、商品出库表、库存表、商品信息张表,包括商品入库表、商品出库表、库存表、商品信息表和仓库表。表和仓库表。商品入库表以商品入库表以“入库入库ID”作为主键,记录商品入库单信息作为主键,记录商品入库单信息 ,其结构如表,其结构如表12-2-1所所示。示。字 段 名 称字 段 类 型长 度允 许 空 值备 注入库ID数字长整型必填主键入库日期日期/时间长日期商品代码文本20必填入库数量数字长整型必填单位文本4组合框仓库文本10组合框标志文本1入库数量修改差数字长整型表12-2-1 商品入库表商品出库表以商品出库表以“出库出库ID”作为主键,记录商品出库单信息作为主键
16、,记录商品出库单信息 ,其结构如表,其结构如表12-2-2所所示示 字 段 名 称字 段 类 型长 度允 许 空 值备 注出库ID数字长整型必填主键出库日期日期/时间长日期商品代码文本20必填出库数量数字长整型必填单位文本4组合框仓库文本10组合框标志文本1出库数量修改差数字长整型表12-2-2 商品出库表库存表以库存表以“产品代码产品代码”作为主键,记录当前库存中每种产品的实际库存量,其结作为主键,记录当前库存中每种产品的实际库存量,其结构如表构如表12-2-3所示。所示。字 段 名 称字 段 类 型长 度允 许 空 值备 注商品代码数字长整型必填主键商品名称文本50仓库文本10组合框单位文
17、本4组合框库存数量数字长整型必填默认值:0最高储备数字长整型必填最低储备数字长整型必填表12-2-3 库存表商品信息表以商品信息表以“商品代码商品代码”作为主键,记录企业所有商品的基本信息,其结构作为主键,记录企业所有商品的基本信息,其结构如表如表12-2-4所示。所示。字 段 名 称字 段 类 型长 度允 许 空 值备 注商品代码文本20必填主键商品名称文本50必填条形码文本20必填商品拼音编码文本10必填单位文本4必填组合框规格文本10必填产地文本20必填类别文本10必填进货价数字单精度必填默认值:0仓库文本10必填表12-2-4 商品信息表仓库表以仓库表以“仓库仓库ID”作为主键,记录企
18、业库房的基本信息,其结构如表作为主键,记录企业库房的基本信息,其结构如表12-2-5所所示。示。字 段 名 称字 段 类 型长 度允 许 空 值备 注仓库ID数字长整型必填主键仓库名称文本10仓库位置文本50仓库类型文本50安全等级文本50仓库用途文本50仓库容量数字长整型默认值:0表12-2-5 仓库表2模块设计模块设计根据前面的分析,并依据系统设计,对整个系统进行模块设计,得到如根据前面的分析,并依据系统设计,对整个系统进行模块设计,得到如图图12-2-2所示功能模块。所示功能模块。库存管理系统入库处理出库处理报表统计库存控制填写入库单维护入库单入库信息查询入库信息显示维护出库单填写出库单
19、出库信息显示设置库存限量库存查询报警处理催货处理月入库统计月出库统计库存统计出库信息查询图12-2-2 功能模块图 12.3 库存管理系统实例制作库存管理系统实例制作完成系统的数据库设计和功能划分后,就可以对完成系统的数据库设计和功能划分后,就可以对“库存管理系统库存管理系统”实例实例各功能模块进行详细设计和实现。各功能模块进行详细设计和实现。12.3.1 创建新数据库创建新数据库(1)启动)启动Access 2003,选择,选择“文件文件”“新建新建”菜单命令或单击工具菜单命令或单击工具栏上的【新建】按钮,调出任务窗格,如图栏上的【新建】按钮,调出任务窗格,如图12-3-1所示。所示。(2)
20、在任务窗格中单击)在任务窗格中单击“空数据库空数据库”项,调出项,调出“文件新建数据库文件新建数据库”对对话框,如图话框,如图12-2-2所示。所示。 图12-3-1 任务窗格 图12-3-2 “文件新建数据库”对话框 (3)在对话框中选择保存的位置,并在)在对话框中选择保存的位置,并在“文件名文件名”文本框中输入文件文本框中输入文件名名“库存管理系统库存管理系统”,然后单击【创建】按钮,然后单击【创建】按钮,Access系统将创建新系统将创建新数据库数据库“库存管理系统库存管理系统”并进入该数据库的操作界面,如图并进入该数据库的操作界面,如图12-3-3所示。所示。至此,至此,“库存管理系统
21、库存管理系统.mdb”空数据库创建完成。现在可以进行创建数空数据库创建完成。现在可以进行创建数据表的操作了据表的操作了 图12-3-3 创建的“库存管理系统”数据库 12.3.2创建表创建表根据实例设计,实例系统共需根据实例设计,实例系统共需5张表,主要表的结构在前面已介绍,按张表,主要表的结构在前面已介绍,按照表的结构设计来创建表。照表的结构设计来创建表。1创建创建“商品信息商品信息”表表(1)在数据库)在数据库“表表”容器窗口中双击容器窗口中双击“使用设计器创建表使用设计器创建表”,调出数,调出数据库表的设计视图,如图据库表的设计视图,如图12-3-4所示。所示。(2)在)在“字段名称字段
22、名称”列输入字段的名称列输入字段的名称“商品代码商品代码”;在;在“数据类型数据类型”列设置字段相应的数据类型为列设置字段相应的数据类型为“文本文本”类型并设置为主键;在类型并设置为主键;在“说明说明”列中可做适当注释,如图列中可做适当注释,如图12-3-5所示。所示。 图12-3-4 创建表的设计试图 图12-3-5 设置表中的字段 (3)重复上述步骤,如表)重复上述步骤,如表12-2-4所示所示“商品信息商品信息”表的结构,创建该表表的结构,创建该表所有字段及相关数据类型,结果如图所有字段及相关数据类型,结果如图12-3-6所示。所示。 选中选中“单位单位”字段,在字段,在“字段属性字段属
23、性”栏内选中栏内选中 “查阅查阅”选项卡,把选项卡,把“显示控件显示控件”属性设置为属性设置为 “组合框组合框”,把,把“行来源类型行来源类型”设置为设置为“值列表值列表” 再参照图再参照图12-3-6设置把设置把“行来源行来源”属性为属性为 “箱箱、盒盒、支支、个个、袋袋、包包、瓶瓶”。(4)所有字段创建完成后,在窗口标题上右)所有字段创建完成后,在窗口标题上右 击,在调出的快捷菜单中选择击,在调出的快捷菜单中选择“数据表视图数据表视图”命令,调出命令,调出“另存为另存为”对对话框,输入表的名称话框,输入表的名称“商品信息商品信息”,然后保存,如图,然后保存,如图12-3-7所示。所示。图1
24、2-3-6 创建“商品信息”表字段结果图12-3-7 保存表单击【确定】按钮,创建的表由单击【确定】按钮,创建的表由“设计设计”视图切换为视图切换为“数据表数据表”视图,视图,选中选中“单位单位”字段所在网格时的效果如图字段所在网格时的效果如图12-3-8所示。所示。至此,至此,“商品信息商品信息”表已经创建完成。表已经创建完成。 2创建创建“商品入库表商品入库表”表表 参照表参照表12-2-1使用使用“使用设计器创建表使用设计器创建表” 创建创建“商品入库表商品入库表”表。用创建表。用创建“商品信息商品信息” 表的方法创建表的方法创建“商品入库表商品入库表”表表。(1)双击)双击“使用设计器
25、创建表使用设计器创建表”进入进入“设计设计”视图。视图。(2)输入各个字段的名称,设置各字段的数据类型。)输入各个字段的名称,设置各字段的数据类型。(3)设置)设置“入库入库ID”字段为表的主键。字段为表的主键。 (4)“单位单位”字段属性设置同字段属性设置同“商品信息商品信息”表;表;“仓库仓库”字段中,在字段中,在“字段属性字段属性”栏内选中栏内选中“查阅查阅”选项卡,把选项卡,把“显示控件显示控件”属性设置为属性设置为“组合框组合框”,把,把“行来源类型行来源类型”设置为设置为“值列表值列表”,再参照,再参照“仓库表仓库表”设置设置“行来源行来源”属性。属性。 图12-3-8 “单位”字
26、段的组合框效果(5)创建完成,如图)创建完成,如图12-3-9所示。保存表为所示。保存表为“商品入库表商品入库表”。3创建创建“商品出库表商品出库表”表表 按照表按照表12-2-2的数据创建表的数据创建表“商品出库表商品出库表”, 参照创建参照创建“商品入库表商品入库表”的方法创建表的方法创建表 “商品出库表商品出库表”。设置字段设置字段“出库出库ID”为主键。其他设置同表为主键。其他设置同表 “商品入库表商品入库表”,如图,如图12-3-10所示。所示。图12-3-9 创建“商品入库表”图12-3-10 创建“商品出库表”4创建创建“库存表库存表”表表 按照表按照表12-2-3的数据创建表的
27、数据创建表“库存表库存表”。 参照创建参照创建“商品入库表商品入库表”的方法创建表的方法创建表 “库存表库存表”。设置设置“商品代码商品代码”字段为主键,字段为主键, 如图如图12-3-11所示。所示。 “单位单位”和和“仓库仓库”字段参照字段参照“商品入库表商品入库表 ”设置设置“显示控件显示控件”属性为属性为“组合框组合框”。5创建创建“仓库表仓库表”表表 按照表按照表12-2-5的数据创建的数据创建“仓库表仓库表”。 参照创建参照创建“商品入库表商品入库表”的方法创建的方法创建 表表“仓库表仓库表”。主键设置为主键设置为“仓库仓库ID”字段,如图字段,如图12-3-12所示。所示。图12
28、-3-11 创建“库存表”图12-3-12 创建“仓库表”这样就初步完成了表的设计。在数据库窗口中,在数据库这样就初步完成了表的设计。在数据库窗口中,在数据库“对象对象”列列表框中选中表框中选中“表表”,显示如图,显示如图12-3-13所示。所示。图12-3-13 创建数据库中的表 12.3.3设置各表间的关系设置各表间的关系完成表的设计后,就要在创建的各表之间建立关系。可按以下步骤操作。完成表的设计后,就要在创建的各表之间建立关系。可按以下步骤操作。(1)选择)选择“工具工具”“关系关系”菜单命令或单击工具栏上的【关系】按钮,菜单命令或单击工具栏上的【关系】按钮,调出调出“显示表显示表”对话
29、框,如图对话框,如图12-3-14所示。所示。(2)利用【添加】按钮把全部的表都添加到布局中,然后单击【关闭】)利用【添加】按钮把全部的表都添加到布局中,然后单击【关闭】按钮,关闭对话框,所有添加的表都出现在随按钮,关闭对话框,所有添加的表都出现在随“显示表显示表”对话框一起调对话框一起调出的出的“关系关系”窗口中,如图窗口中,如图12-3-15所示。所示。 图12-3-14 “显示表”对话框 图12-3-15 “关系”窗口(3)从)从“库存表库存表”表中选定表中选定“商品代码商品代码”字段,按住鼠标左键将其拖动字段,按住鼠标左键将其拖动到到“商品出库表商品出库表”表中的表中的“商品代码商品代
30、码”字段,然后释放鼠标,会弹出字段,然后释放鼠标,会弹出“编辑关系编辑关系”对话框,如图对话框,如图12-3-16所示。所示。(4)单击【创建】按钮,两个表之间就建立了一个联系。用同样的方法)单击【创建】按钮,两个表之间就建立了一个联系。用同样的方法建立所有的联系,如图建立所有的联系,如图12-3-17所示。所示。(5)保存关系,然后关闭)保存关系,然后关闭“关系关系”窗口。窗口。 图12-3-16 “编辑关系”对话框 图12-3-17 在“关系”窗口各表之间建立联系 12.3.4 填写入库填写入库/出库单出库单入库入库/出库处理最基本的工作内容是填写入库出库处理最基本的工作内容是填写入库/出
31、库单,修改库存。按照出库单,修改库存。按照前面系统分析确定的数据流程图,应在填写完入库前面系统分析确定的数据流程图,应在填写完入库/出库单后立即修改出库单后立即修改库存,将入库数量加到库存量中,将出库数量从库存量中减去。要完成库存,将入库数量加到库存量中,将出库数量从库存量中减去。要完成这样的计算操作可以使用更新查询。因此,在实现这个功能模块时,首这样的计算操作可以使用更新查询。因此,在实现这个功能模块时,首先建立更新查询,然后创建填写入库先建立更新查询,然后创建填写入库/出库单窗体,并将更新查询与窗出库单窗体,并将更新查询与窗体连接起来,在关闭窗体时运行该查询,完成体连接起来,在关闭窗体时运
32、行该查询,完成“库存表库存表”的修改操作。的修改操作。 1创建更新库存查询创建更新库存查询查询的功能是使用入库信息更新库存量和使用出库信息更新库存量。查查询的功能是使用入库信息更新库存量和使用出库信息更新库存量。查询名称分别为询名称分别为“更新库存量(入库)更新库存量(入库)”和和“更新库存量(出库)更新库存量(出库)”。创。创建建“更新库存量(入库)更新库存量(入库)”的步骤如下。的步骤如下。 (1)在数据库窗口中单击)在数据库窗口中单击“查询查询”容器,然后双击容器,然后双击“在设计视图中创在设计视图中创建查询建查询”,调出,调出“查询设计视图查询设计视图”窗口,并显示一个窗口,并显示一个
33、“显示表显示表”对话框,对话框,如图如图12-3-18所示。所示。(2)在)在“显示表显示表”对话框中,单击对话框中,单击“表表” 选项卡,然后分别双击选项卡,然后分别双击“商品入库表商品入库表”和和 “库存表库存表”,单击【关闭】按钮,单击【关闭】按钮, 关闭关闭“显示表显示表”对话框。对话框。(3)选择)选择“查询查询”“更新查询更新查询”菜单命菜单命 令,在查询令,在查询“设计网格设计网格”中显示一个中显示一个“更更 新到新到”行。如图行。如图12-3-19所示。所示。(4)将)将“库存表库存表”中的中的“库存数量库存数量”字段拖动到字段拖动到“设计网格设计网格”的的“字字段段”行的第行
34、的第1列中,将列中,将“商品入库表商品入库表”中的中的“标志标志”字段拖动到字段拖动到“设计设计网格网格”的的“字段字段”行的第行的第2列中,如图列中,如图12-3-20所示。所示。 图12-3-18 “显示表”对话框 图12-3-19 添加“更新到”行 图12-3-20 添加字段(5)在)在“库存数量库存数量”字段的字段的“更新到更新到”单元格中输入更新表达式单元格中输入更新表达式“库库存表存表!库存数量库存数量+商品入库表商品入库表!入库数量入库数量”。在。在“标志标志”字段的字段的“更新更新到到”单元格中输入单元格中输入“”“”1“”,在,在“条件条件”单元格中输入条件单元格中输入条件“
35、”“”0“”,如,如图图12-3-21所示。所示。为了能够区分已经处理的入库单,为了能够区分已经处理的入库单, 在在“商品入库表商品入库表”中设置了一个中设置了一个“标志标志” 字段,当该字段值为字段,当该字段值为“0”时,表示该时,表示该 入库单的入库单的“入库数量入库数量”还未加到还未加到“库存表库存表” 中。所以,在建立更新查询时,应只对中。所以,在建立更新查询时,应只对 “标志标志”字段值为字段值为“0”的的“库存量库存量”字段值进行更新。更新后,应将字段值进行更新。更新后,应将“标志标志”字段值改为字段值改为“1”,表示已经处理完毕。,表示已经处理完毕。 (6)单击工具栏的【保存】按
36、钮或选择)单击工具栏的【保存】按钮或选择“文件文件”“保存保存”菜单命令保菜单命令保存该查询,并命名为存该查询,并命名为“更新库存量(入库)更新库存量(入库)”。图12-3-21 更新查询的设置“更新库存量(出库)更新库存量(出库)”查询的创建步骤与上述步骤相同,结果如图查询的创建步骤与上述步骤相同,结果如图12-3-22所示。所示。 2创建填写入库创建填写入库/出库单窗体出库单窗体 填写入库单窗体如图填写入库单窗体如图12-3-23所示。所示。 在窗体中使用了在窗体中使用了1个矩形控件、个矩形控件、3个个 文本框控件、文本框控件、2个组合框控件和个组合框控件和3个个 命令按钮控件。命令按钮控
37、件。(1)在)在“数据库数据库”窗口的窗口的“对象对象”列表框单列表框单 击击“窗体窗体”,然后双击,然后双击“在设计视图中创建在设计视图中创建 窗体窗体”项。项。(2)在窗体设计视图中放置一个标签,)在窗体设计视图中放置一个标签, 输入内容输入内容“入库单入库单”,设置成标题。放置,设置成标题。放置 一个矩形控件,并将其一个矩形控件,并将其“特殊效果特殊效果”格式格式 设置为设置为“蚀刻蚀刻”。 图12-3-22 更新查询的设置图12-3-23 “入库单输入”窗体(3)在窗体的适当位置放置)在窗体的适当位置放置3个文本框,文本框标签分别为个文本框,文本框标签分别为“入库单入库单号:号:”、“
38、日期:日期:”和和“商品数量:商品数量:”。(4)放置)放置2个组合框,以便用选择方式输入个组合框,以便用选择方式输入“商品代码商品代码”和和“仓库仓库”。(5)在窗体下方放置)在窗体下方放置3个命令按钮,按纽名称分别个命令按钮,按纽名称分别“保存保存”、“重填重填”和和“取消取消”。布局设计结果如图。布局设计结果如图12-3-24所示。所示。(6)为方便输入操作,设置)为方便输入操作,设置“日期日期”字段的字段的 “输入掩码输入掩码”为为“0000-99-99;0;_;”,“默认值默认值” 设置为设置为“=date()”。(7)设置窗体的)设置窗体的“格式格式”属性和属性和“数据数据”属性,
39、属性, 如图如图12-3-25所示。所示。图12-3-24 “入库单输入”窗体设计视图 图12-3-25 窗体属性设置(8)入库单号查重:在)入库单号查重:在“商品入库表商品入库表”中,每个入库记录对应一个入库中,每个入库记录对应一个入库单号,即单号,即“入库入库ID”值。为了避免输入重复的入库单号,系统提供入库单值。为了避免输入重复的入库单号,系统提供入库单号查重功能。将输入的入库单号与表中的号查重功能。将输入的入库单号与表中的“入库入库ID”进行比较,如果两值进行比较,如果两值相同,则显示提示信息。相同,则显示提示信息。在在“入库单输入入库单输入”窗体的设计视图中,单击选中窗体的设计视图中
40、,单击选中“入库单号入库单号”文本框,文本框,右击调出快捷菜单,选择右击调出快捷菜单,选择“属性属性”命令,在调出的命令,在调出的“入库单号入库单号”文本框文本框属性对话框中,选择属性对话框中,选择“事件事件”选项卡,在选项卡,在“更新后更新后”文本框中选中文本框中选中“事事件过程件过程”,如图,如图12-3-26所示。所示。 然后再单击其后的然后再单击其后的 按钮,调出按钮,调出“Microsoft Visual 编辑器编辑器”窗口,在光标处插入下列代码,窗口,在光标处插入下列代码, 如图如图12-3-27所示。所示。 With CodeContextObject rrr=商品入库表商品入库
41、表!入库入库ID=&Me!入库单号入库单号 DoCmd.ApplyFilter uuu,rrr I f(.RecordestClone.RecordCount0)Then MsgBox入库单号已存在,请重新输入!入库单号已存在,请重新输入!,vbOKOnly,提示框提示框“ 入库单号入库单号.SetFocus End If End With图12-3-26 创建“更新后”事件 (9)入库单保存:输入入库单信息后,)入库单保存:输入入库单信息后, 单击【保存】按钮即可将输入的数据添单击【保存】按钮即可将输入的数据添 加到加到“商品入库表商品入库表”中。中。“保存保存”命令按钮命令按钮 的
42、的“单击单击”事件的代码如下。如图事件的代码如下。如图12-3-28所示。所示。DoCmd.GoToRecord , , acNewRecMe!入库入库ID=Me!入库单号入库单号Me!日期日期=Me!日期日期rMe!商品代码商品代码=Me!商品代码商品代码rMe!入库数量入库数量=Me!入库数量入库数量rMe!标志标志=0DoCmd.DoMenuItem acFromBar,acRecordsMenu,acSaveRecord, ,acMenuVer70Me!入库单号入库单号= Me!日期日期r=DateMe!商品代码商品代码r= Me!入库数量入库数量r=0Me.Refresh图12-3-
43、27 输入“更新后”事件的VBA代码图12-3-28 “保存”按钮上的“单击”事件(10)入库单重填:如果数据输入有误或希望放弃此次输入,可单击)入库单重填:如果数据输入有误或希望放弃此次输入,可单击【重填】按钮。该命令按钮的【重填】按钮。该命令按钮的“单击单击”事件代码如下。如图事件代码如下。如图12-3-29所示。所示。 Me!文本16 = Me!文本3 = Date Me!组合47 = Me!文本12 = 0(11)入库单取消:这里的取消操作实质上是)入库单取消:这里的取消操作实质上是 退出输入操作,即关闭输入窗口,退出输入操作,即关闭输入窗口, 如图如图12-3-30所示。所示。该命令
44、按钮上的该命令按钮上的“单击单击”事件代码为事件代码为 DoCmd.Close(12)库存量修改:本系统在输入完成所有入)库存量修改:本系统在输入完成所有入 库单后,对库单后,对“库存表库存表”中的中的“库存数量库存数量”进行修改,进行修改, 即在关闭输入窗口时完成修改操作。因此,可即在关闭输入窗口时完成修改操作。因此,可 设置窗口的设置窗口的“关闭关闭”事件,当发生该事件时运行事件,当发生该事件时运行 已建立的已建立的“更新库存量(入库)更新库存量(入库)”更新查询,如图更新查询,如图12-3-31所示。所示。 图12-3-29 “重填”按钮的“单击”事件图12-3-30 “保存”按钮上的“
45、单击”事件 更新库存量代码如下:更新库存量代码如下: DoCmd.OpenQuery 更新库存量更新库存量(入库入库), acViewNormal,acEdit 出库单输入窗体的建立内容和方法与入库单出库单输入窗体的建立内容和方法与入库单 输入相似。输入相似。 图12-3-31 “重填”按钮的“单击”事件 12.3.5 维护入库维护入库/出库单信息出库单信息有时,输入的入库单或出库单数据在存盘后才发现错误,就需要对其进有时,输入的入库单或出库单数据在存盘后才发现错误,就需要对其进行修改。修改数据与输入数据相似,修改完成后,应对行修改。修改数据与输入数据相似,修改完成后,应对“库存表库存表”中中
46、“库存数量库存数量”作相应更新。为了方便更新,在作相应更新。为了方便更新,在“商品入库表商品入库表”和和“商品商品出库表出库表”中增加了一个记忆修改前和修改后差值的字段,分别是中增加了一个记忆修改前和修改后差值的字段,分别是“入库入库数量修改差数量修改差”和和“出库数量修改差出库数量修改差”,应用该字段来更新,应用该字段来更新“库存数量库存数量”。要完成这样的操作,需要建立更新查询。要完成这样的操作,需要建立更新查询。1创建更新库存查询创建更新库存查询建立更新库存查询的方法与上述相同。当建立更新库存查询的方法与上述相同。当“商品入库表商品入库表”或或“商品出库商品出库表表”中的中的“标志标志”
47、字段值为字段值为“0”时,表示还未对时,表示还未对“库存数量库存数量”进行修改,进行修改,因此要用这些数量值更新因此要用这些数量值更新“库存数量库存数量”值。但应注意,更新完成后应将值。但应注意,更新完成后应将相应的相应的“标志标志”字段值由字段值由“0”改为改为“1”。“更新修改后的库存数量(入更新修改后的库存数量(入库)库)”的设计视图如图的设计视图如图12-3-32所示。所示。2创建维护入库创建维护入库/出库窗体出库窗体 商品入库单维护窗体如图商品入库单维护窗体如图12-3-33所示。所示。 该窗体分为该窗体分为3个部分:上半部分为入库个部分:上半部分为入库 单信息显示区;中间部分为修改
48、区,该单信息显示区;中间部分为修改区,该 区放置了区放置了3个文本框控件,用来修改制个文本框控件,用来修改制 定的入库单;下半部分为查询区,该区定的入库单;下半部分为查询区,该区 有有3个文本框和一个组合框,用来查找需要修改的入库单。窗体最下方有个文本框和一个组合框,用来查找需要修改的入库单。窗体最下方有3个命令按钮,实现查询、保存和退出等功能。个命令按钮,实现查询、保存和退出等功能。图12-3-32 更新库存数量查询设置图12-3-33 入库单维护窗体(1)窗体布局设计:使用向导创建一个以)窗体布局设计:使用向导创建一个以“商品入库表商品入库表”为数据源的为数据源的 “表格表格”式窗体,再切
49、换到窗体设计视图进行适当的调整,如图式窗体,再切换到窗体设计视图进行适当的调整,如图12-3-34所示。所示。(2)入库单保存:修改数据时,即可以在修改区直接输入要修改的数据,)入库单保存:修改数据时,即可以在修改区直接输入要修改的数据,也可以先查找要修改的入库单,然后也可以先查找要修改的入库单,然后 在显示区修改。当修改区输入了要修改的在显示区修改。当修改区输入了要修改的 内容后,直接单击内容后,直接单击“保存保存”命令按钮,即可命令按钮,即可 保存已输入的修改信息。保存已输入的修改信息。“保存保存”命令按钮命令按钮 的的“单击单击”事件代码如下。如图事件代码如下。如图12-3-35所示。所
50、示。图12-3-34 商品入库单维护窗体设计视图 Me!入库ID.SetFocus DoCmd.FindRecord Me!文本1, , True, , True Me!入库ID=Me!文本1 Me!入库日期=Me!文本2 Me!入库数量修改差=Me!文本3-Me!入库数量 Me!入库数量=Me!文本3 Me!标志=0 Me!文本1= Me!文本2=Date Me!文本3=0 Me.Refresh(3)入库单查询:在查询区输入查询内容,)入库单查询:在查询区输入查询内容, 然后单击【查询】按钮查找相应的内容,如然后单击【查询】按钮查找相应的内容,如 果找到,信息显示区指针定位到该记录,此果找到
51、,信息显示区指针定位到该记录,此 时可对该记录进行修改。为了实现这样的查时可对该记录进行修改。为了实现这样的查 询,需要对每一输入框的询,需要对每一输入框的“失去焦点失去焦点”事件进事件进 行记录定位设置,然后通过行记录定位设置,然后通过“查询查询”命令按钮命令按钮 的的“单击单击”事件完成实际定位。事件完成实际定位。4个输入控件的个输入控件的 “失去焦点失去焦点”事件的代码如下。事件的代码如下。图12-3-35 “保存”按钮事件VBA代码入库单号入库单号“失去焦点失去焦点”事件代码:事件代码:【退出】按钮的功能是关闭窗体【退出】按钮的功能是关闭窗体Me!入库ID.SetFocusDoCmd.
52、FindRecord Me!文本4, , True, , TrueMe!命令5.Visible=True入库日期“失去焦点”事件代码:Me!入库日期.SetFocusDoCmd.FindRecord Me!文本5, , True, , TrueMe!命令5.Visible=True入库数量“失去焦点”事件代码:Me!入库数量.SetFocusDoCmd.FindRecord Me!文本6, , True, , TrueMe!命令5.Visible=True商品代码“失去焦点”事件代码:Me!商品代码.SetFocusDoCmd.FindRecord Me!组合1, , True, , True
53、Me!命令5.Visible=True“查询”按钮的“单击”事件VBA代码:Screen.PreviousControl.SetFocusDoCmd.FindNext 12.3.6查询入库查询入库/出库单信息出库单信息4)修改库存量:与入库输入设计一样,修改入库单后对)修改库存量:与入库输入设计一样,修改入库单后对“库存数量库存数量”的修改也是在关闭输入窗口时完成,即设置窗口的的修改也是在关闭输入窗口时完成,即设置窗口的“关闭关闭”事件,当发事件,当发生该事件时运行已建立的生该事件时运行已建立的“更新修改后的库存数量(入库)更新修改后的库存数量(入库)”更新查询。更新查询。所设代码如下:所设代
54、码如下:对入库对入库/出库信息的查询可按入库出库信息的查询可按入库/出库单中的任意内容查询。无论是查出库单中的任意内容查询。无论是查询入库信息,还是查询出库信息,其设计方法相同,只是窗体所用数据询入库信息,还是查询出库信息,其设计方法相同,只是窗体所用数据源不同。因此,只介绍入库信息查询。入库信息查询控制窗体如图源不同。因此,只介绍入库信息查询。入库信息查询控制窗体如图12-3-36所示。所示。DoCmd.OpenQuery 更新修改后的库存数量(入库), acViewNormal, acEdit图12-3-36 入库查询控制窗体1高级查询高级查询单击【高级查询】按钮,调出单击【高级查询】按钮
55、,调出“入库信息高级查询入库信息高级查询”窗体,如图窗体,如图12-3-37所示。所示。 在窗体中相应的文本框内输入要查询的在窗体中相应的文本框内输入要查询的 内容,然后单击【查找记录】按钮,这内容,然后单击【查找记录】按钮,这 时系统将在时系统将在“商品入库表商品入库表”中查找记录并中查找记录并 显示在窗体中。显示在窗体中。(1)使用向导创建以)使用向导创建以“商品入库表商品入库表”为数据源为数据源 的的“表格表格”式窗体。式窗体。(2)调整窗体页眉区大小,并在页眉区上方放置)调整窗体页眉区大小,并在页眉区上方放置1个标签、个标签、1个组合框个组合框和和3个文本框。个文本框。3个文本框用来输
56、入个文本框用来输入“入库单号入库单号”、“入库日期入库日期”、“入入库数量库数量”等内容,组合框用来选择等内容,组合框用来选择“商品代码商品代码”。(3)在窗体页脚区放置)在窗体页脚区放置2个命令按钮,个命令按钮,“查找记录查找记录”和和“退出退出”。(4)保存查询窗体,并命名为)保存查询窗体,并命名为“入库信息高级查询入库信息高级查询”。图12-3-37 入库信息高级查询窗体(5)编写查询代码,对每个文本框的)编写查询代码,对每个文本框的“失去焦点失去焦点”事件进行记录定位事件进行记录定位设置,然后通过设置,然后通过“查找记录查找记录”命令按钮的命令按钮的“单击单击”事件完成实际定位。事件完
57、成实际定位。4个输入控件的个输入控件的“失去焦点失去焦点”事件的代码如下。事件的代码如下。入库单号入库单号“失去焦点失去焦点”事件代码:事件代码: 入库日期入库日期“失去焦点失去焦点”事件代事件代码:码: Private Sub 文本21_LostFocus() On Error GoTo Err_文本21_LostFocus Me!入库ID.SetFocusDoCmd.FindRecord Me!文本21, , True, , True Me!命令5.Visible = TrueExit_文本21_LostFocus: Exit SubErr_文本21_LostFocus: MsgBox E
58、rr.Description Resume Exit_文本21_LostFocusEnd SubPrivate Sub 文本2_LostFocus() On Error GoTo Err_文本2_LostFocus Me!入库日期.SetFocusDoCmd.FindRecord Me!文本2, , True, , True Me!命令5.Visible = TrueExit_文本2_LostFocus: Exit SubErr_文本2_LostFocus: MsgBox Err.Description Resume Exit_文本2_LostFocusEnd Sub商品代码商品代码“失去焦点
59、失去焦点”事件代码:事件代码: 入库数量入库数量“失去焦点失去焦点”事件代码:事件代码: “查找记录查找记录”命令按钮的命令按钮的“单击单击”事件代码:事件代码:Private Sub 组合25_LostFocus()On Error GoTo Err_组合25_LostFocus Me!商品代码.SetFocusDoCmd.FindRecord Me!组合25, , True, , True Me!命令5.Visible = TrueExit_组合25_LostFocus: Exit SubErr_组合25_LostFocus: MsgBox Err.Description Resume E
60、xit_组合25_LostFocusEnd SubPrivate Sub 文本27_LostFocus()On Error GoTo Err_文本27_LostFocus Me!入库数量.SetFocusDoCmd.FindRecord Me!文本27, , True, , True Me!命令5.Visible = TrueExit_文本27_LostFocus: Exit SubErr_文本27_LostFocus: MsgBox Err.Description Resume Exit_文本27_LostFocusEnd SubPrivate Sub 命令5_Click()Screen.Previ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国水性光刻油墨行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国氯丁橡胶行业市场深度分析及前景趋势与投资研究报告
- 2025-2030年中国橡塑保温材料行业市场发展分析及前景趋势与投资管理研究报告
- 2025-2030年中国椰子纤维行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国棕色熔融氧化铝行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国桶装水零售行业市场现状分析及竞争格局与投资发展研究报告
- 2025-2030年中国核固红染色液行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国果蔬行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国有机小麦行业市场现状供需分析及投资评估规划分析研究报告
- 经济法概论与实践的试题及答案分析
- 眩晕护理课件
- 《集成电路基础及其应用》课件
- 2025年保密观知识竞赛题库完整答案带答案详解
- 2020 年全国硕士研究生入学统一考试英语 ( 一) 试题
- 云南建筑文化课件
- 2025森林消防考试试题及答案
- 2025年下半年山东淄博师范高等专科学校高层次人才招聘16人(第二批)易考易错模拟试题(共500题)试卷后附参考答案
- 2024年安徽省粮油经贸有限公司招聘考试真题
- 购羊协议书范本
- 2025年安徽蚌埠市东方投资集团有限公司招聘笔试参考题库附带答案详解
- 武汉四调高中数学试卷及答案
评论
0/150
提交评论