第12章Access在进销存管理中的应用本章学习要点了解进销存系统的概念系统的功能设计系统的模块设计表和表关系的设计查询的设计窗体的创建报表的创建宏命令和VBA代码的创建系统的运行与应用12.1实例导航系统功能开发要点12.1.1系统功能我们所设计的进销存系统的主要功能包括如下。商品基本信息的管理:用来处理进出库的商品信息,包括新建、修改、删除和查询等。订单信息的处理:是整个系统的工作流程的起点,包括订单的增减、查询,以及订单在处理过程中(如发货确认等)状态的改变。产品入库出库管理:完成记录,修改商品入出库信息,并有库存报表功能。查询功能:允许管理员可以按编号、日期对进货商的销售信息进行查询;对入库的产品信息进行详细的查询,包括编号、名称、入库时间等。12.1.2开发要点理解数据表的结构,掌握各表之间关系的建立原理,熟悉查询和窗体的设计,对进销存管理系统有比较清楚的了解,从而开发出完整的进销存管理系统。12.2系统需求分析设计需求分析模块设计12.2.1需求分析用户的需求主要有以下内容。将订单、商品、供应商、客户、商品、进货、销售等信息录入管理系统,提供修改和查询。能够对各类信息提供查询。能够统计进出库的各类信息,对进库、销售、库存进行汇总,协调各部门的相互工作。12.2.2模块设计按照前面的需求分析,我们设计的进销存系统分为以下几个模块。系统的基本配置模块:包括产品、供应商、客户的基本资料的录入。产品进出库处理模块:主要包括对订单信息的处理和采购单的处理,一般产品入出库的处理。查询模块:对系统中的各类信息,如供应商资料、出入库详细资料等进行查询,支持多个条件的复合查询。报表显示模块:根据用户的需要和查询结果来生成报表。12.3数据库结构的设计数据表结构需求分析建立空数据库系统创建数据表定义数据表之间的关系12.3.1数据表结构需求分析在本系统中,我们设计了10张数据表,各个表存储的信息如下所示。“管理员”表:存放系统管理人员信息,一般是企业管理人员的用户名和密码。“产品信息”表:存储产品的基本信息,如产品编号、产品名称、规格型号、计量单位、供应商编号、产品类别等。“供应商”表:存放产品供应商的相关信息,比如供应商编号、供应商名称、联系人姓名、联系人职务、业务电话、电子邮件等。“客户”表:记录客户的基本信息,比如客户编号、客户姓名、客户地址、联系电话、电子邮件、备注等。“订单”表:记录订单的基本信息,如订单编号、客户编号、产品编号、供应商编号、销售单价、订购数量、订单金额、预定时间、订单时间等基本预订信息。“订单处理明细”表:除了订单基本信息外,还要增加付款信息和发货信息,如付款方式、付款时间、发货地址、发货时间、发货人等。“入库记录”表:存放产品入库的信息。“出库记录”表:存放产品出库的信息。“业务类别”表:记录进出库的业务类型。“库存”表:记录产品的库存信息。12.3.2建立空数据库系统建立一个“进销存管理系统.accdb”空白数据库。第一步:打开Access2007,单击【开始使用MicrosoftOfficeAccess】页中的【空白数据库】按钮,如下图所示。第二步:系统出现如下图所示的窗口,选择合适的路径,输入数据库名称为“进销存系统.accdb”。12.3.2建立空数据库系统建立一个“进销存管理系统.accdb”空白数据库。第三步:单击【创建】按钮,完成该数据库的创建。系统自动建立了一个名为“表1”的数据表。12.3.3创建数据表“管理员”表“产品信息”表字段名数据类型字段宽度是否主键用户名文本18否密码文本18否字段名数据类型字段宽度是否主键产品编号数字是产品名称文本18否规格型号文本255否计量单位文本20否供应商编号数字9否产品类别文本18否12.3.3创建数据表“供应商”表字段名数据类型字段宽度是否主键供应商编号数字9是供应商名称文本18否联系人姓名文本18否联系人职务文本18否业务电话文本20否电子邮件文本40否12.3.3创建数据表“客户”表字段名数据类型字段宽度是否主键客户编号数字9是客户姓名文本18否客户地址文本255否联系电话文本20否字段名数据类型字段宽度是否主键电子邮件文本40否备注文本255否12.3.3创建数据表“订单”表字段名数据类型字段宽度是否主键订单编号数字9是客户编号数字9否产品编号数字9否供应商编号数字9否销售单价货币否订购数量数字10否订单金额货币否预定时间日期/时间否订单时间日期/时间否备注文本20否12.3.3创建数据表“订单处理明细”表字段名数据类型字段宽度是否主键订单编号数字9是客户编号数字9否产品编号数字9供应商编号数字9否预定时间日期/时间否发货时间日期/时间销售单价货币否订购数量数字10否订单金额货币否付款方式文本8否付款时间日期/时间否发货地址文本255否发货人文本18否状态文本40否12.3.3创建数据表“入库记录”表字段名数据类型字段宽度是否主键入库编号数字20是业务类别数字2否产品编号数字9否供应商编号数字9否入库时间日期/时间否入库单价货币否入库数量数字10否入库金额货币否经办人文本18否12.3.3创建数据表“出库记录”表字段名数据类型字段宽度是否主键出库编号数字20是业务类别数字2否产品编号数字9否供应商编号数字9否出库时间日期/时间否出库单价货币否出库数量数字10否出库金额货币否经办人文本18否12.3.3创建数据表“业务类别”表字段名数据类型字段宽度是否主键业务类别数字9是业务名称文本20否收发标志是/否否“库存”表字段名数据类型字段宽度是否主键产品编号数字9是供应商编号数字9是库存量数字10否12.3.4定义数据表之间的关系建立“产品信息”表和“出库记录”表之间的表关系。第一步:启动Access2007,打开“进销存管理系统.accdb”。第二步:切换到【数据库工具】选项卡,单击【关系】按钮,如下图所示。第三步:单击右键,在弹出的快捷菜单中选择【显示表】命令,按住Ctrl键,选择所有的表,然后单击【添加】按钮,把所有的表都添加上去,如下图所示。12.3.4定义数据表之间的关系建立“产品信息”表和“出库记录”表之间的表关系。第四步:设置表的参照完整性。我们以“产品信息”表中的“产品编号”字段与“出库记录”表中的“产品编号”字段为例。按下鼠标左键拖动“产品信息”表中的“产品编号”字段到“出库记录”表中的“产品编号”字段上,释放鼠标左键,系统弹出【编辑关系】对话框,如下图所示。第五步:选中【实施参照完整性】复选框,这样就建立了表之间的一对多关系,如下图所示。12.3.4定义数据表之间的关系按照同样的步骤,可以建立起其他表之间的关系。最终建立了下面的关系图。我们设计的数据库表中,各种表关系如下表所示。表名字段名称相关表名字段名称供应商供应商编号产品信息供应商编号供应商供应商编号入库记录供应商编号供应商供应商编号出库记录供应商编号供应商供应商编号库存供应商编号供应商供应商编号订单供应商编号供应商供应商编号订单处理明细供应商编号产品信息产品编号订单产品编号产品信息产品编号订单处理明细产品编号产品信息产品编号入库记录产品编号产品信息产品编号出库记录产品编号产品信息产品编号库存产品编号业务类别业务类别入库记录业务类别业务类别业务类别出库记录业务类别12.4窗体的实现“登录”窗体“切换面板”窗体“订单处理”窗体“发货确认”窗体“产品进库”窗体“供应商查询编辑”窗体“进货资料查询”窗体“密码管理”窗体12.4.1“登录”窗体运用“模式对话框”窗体,设计本系统的“登录”窗体。第一步:启动Access2007,打开“进销存管理系统.accdb”数据库。第二步:切换到【创建】选项卡,选择【窗体】组中【其他窗体】下拉菜单中的【模式对话框】选项,如下图所示。第三步:出现一张空白窗体,已有两个按钮:【确定】和【取消】,如下图所示。12.4.1“登录”窗体运用“模式对话框”窗体,设计本系统的“登录”窗体。控件名称属性属性值Label1标题进销存登录Label2标题用户名:Label3标题密码:Txt_nametxtpwd输入掩码密码Btn_okBtn_cancel第四步:调整窗体布局,在窗体上添加几个控件,属性值设置如下表所示。第五步:设置主体背景颜色。在主体区域中右击,在弹出的快捷菜单中选择【填充/背景色】选项,弹出如下图所示的菜单。12.4.1“登录”窗体运用“模式对话框”窗体,设计本系统的“登录”窗体。第六步:调整窗体布局,完成后的“登录”窗体如下图所示。12.4.2“切换面板”窗体运用窗体的【设计视图】,设计本系统的“切换面板”窗体。第一步:启动Access2007,打开“进销存管理系统.accdb”数据库。第二步:切换到【创建】选项卡,单击【窗体】组中的【窗体设计】按钮,出现一张空白窗体。第三步:调整窗体布局。添加一个“矩形”控件,“背景”属性设为“#9DBB61”。添加标题控件,并将标题设为“进销存系统示例”。添加一个徽标控件,图片为“罗斯文.png”,创建后的效果如下图所示。12.4.2“切换面板”窗体运用窗体的【设计视图】,设计本系统的“切换面板”窗体。控件名称属性属性值Image2图片儿童.jpgLabel1标题进销存系统示例Label2标题订单处理Label3标题产品入库Label4标题发货确认Label5标题供应商资料查询Label6标题进货资料查询Label7标题密码管理Option1标题Option2标题Option3标题Option4标题Option5标题Option6标题Btn_retrun标题退出系统第四步:利用命令按钮控件和标签控件,为窗体添加几个按钮和标签,来处理管理员的操作。各个控件的属性设置如下表所示。第五步:这样就完成了“切换面板”窗体的创建,完成后的结果如下图所示。12.4.3“订单处理”窗体运用窗体向导,设计本系统的“订单处理”窗体。第一步:启动Access2007,打开“进销存管理系统.accdb”数据库。第二步:切换到【创建】选项卡,选择【窗体】组中【其他窗体】下拉菜单中的【窗体向导】选项。第三步:按照前面章节介绍的步骤,在【表/查询】下拉列表框中选择“表:订单”,将【可选字段】列表框中的所有字段加入右面【选定字段】列表框中,然后依次确定即可。系统自动生成的窗体如下图所示。12.4.3“订单处理”窗体运用窗体向导,设计本系统的“订单处理”窗体。第四步:若要加上按钮控件,则切换到【窗体设计工具】选项卡,单击【使用控件向导】按钮,则所有添加控件都会在向导模式下进行。第五步:单击【命令控件】按钮,出现如下图所示的【命令按钮向导】对话框,我们以“保存记录”为例加以说明。12.4.3“订单处理”窗体运用窗体向导,设计本系统的“订单处理”窗体。第六步:单击【下一步】按钮,为按钮添加上合适的图标或者文字,如下图所示。第七步:单击【下一步】按钮,在弹出的指定按钮名称的对话框中输入该按钮的名称,如下图所示。12.4.3“订单处理”窗体运用窗体向导,设计本系统的“订单处理”窗体。第八步:修改如下表所示主要控件的属性,设置窗体的页眉和页脚。第九步:这样我们就完成了“订单处理”窗体的创建过程,完成后的界面如下图所示。控件名称属性属性值Image1图片罗斯文.pngText1控件来源=Replace(订单#|,|,Nz([订单编号],(新)))Btn_add背景样式透明Btn_save背景样式透明Btn_del背景样式透明Btn_query背景样式透明Btn_return背景样式透明Label7背景样式透明Option1~option6标题Btn_retrun标题退出系统12.4.4“发货确认”窗体运用窗体的【设计视图】,设计本系统的“发货确认”窗体。第一步:单击右键,在弹出的快捷菜单中选择【窗体页眉/页脚】选项,进行窗体页眉设置。步骤和前面一样,这里不再赘述。第二步:在窗体上添加控件,属