※1※用Access2003开发进销存管理系统内容提要:本文介绍了进销存管理系统的整个开发设计过程。学完本文后,读者应能运用Access基本工具完成数据库应用系统的建立,设置数据库的安全机制,使数据库的使用更加安全。还能利用VBA编写驱动程序,使数据库的操作更方便、灵活。另外,本文中还介绍了可以使用切换面板管理器实现系统的集成和功能选择。关键字:数据库、销存管理引言:进销存管理是商业企业经营管理中的核心环节,也是一个企业能否取得效益的关键。如能做到合理生产、及时销售、库存量最小,减少积压,那么企业就能取得最佳的效益。由此可见,进销存管理决策的正确与否直接影响着企业的经济效益。正文:1系统分析与设计1.1系统分析在开始设计数据库之前,需要确定数据库的目的以及如何使用,尽量多了解一些有关数据库的设计要求,弄清用户需要明确希望从数据库得到什么信息,经过实际的研究和分析,对目标系统形成初步的说明。目标是一个包括订单管理、产品管理、客户管理和供应商管理在内的管理信息系统,能及时的为企业决策层领导、业务员、质检员以及其他的相关人员提供有关资料。目标系统必须具有可靠性、安全性、可维护性、可移植性等,对于不同的操作人员授予不同的操作权限,定期地进行数据备份,系统还必须为以后整个企业信息化提供了良好的接口,以备功能扩充。在创建一个数据库之前必须明确以下几点:(1)数据库必须能够管理、生成用户期望的输出和打印输出所有必须具备的信息。(2)数据库中不保存不必要的信息。(3)弄清数据库应该为用户所做的操作和应解决的问题。(4)明确用户通过什么样的界面来操作数据库中的数据和输出。1.2功能描述(1)产品管理子系统。产品管理子系统可以实现对各种产品进行管理,包括产品的型号、价格、供应商等。这个子系统包括:产品输入功能、产品的查询功能、产品的删除功能、产品的修改功能、产品统计报表的功能。(2)订单管理子系统。订单管理在产品管理中起着举足轻重的作用,该子系统把订单处理流程加以电子化,以提供对订单的管理、处理和查询,提高订单处理的效率,通过该子系统可以提高管理的准确性和及时性,减少操作人员的工作压力,减少人为出错、降低成本,从而实现对订单的有效控制,子系统主要包括:订单输入功能、订单确认功能、订单修改功能、订单删除功能、订单查询功能、订单报表打印功能。(3)出货管理子系统。出货管理子系统向用户提供了发货的时间、客户、出货数量、出货价格等信息。(4)进库管理子系统。进库管理子系统向用户提供了进库号、进库数量、进库时间和负责人等信息,包括:添加进库※2※记录和修改库存等。(5)库存管理子系统。向用户提供了货物的库存量、库存地点等信息。(6)供应商管理子系统。供应商管理子系统负责对供应商的具体生产情况加以管理,包括:供应商资料的输入功能、供应商资料的删除功能、供应商查询功能。(7)客户管理子系统。为进一步实现对客户的管理,系统提供了客户管理子系统,其主要功能:客户的资料输入功能、客户资料的查询功能。(8)报表显示子系统。通过报表显示子系统,可以向用户提供各种报表,以便报表统计和报表打印。1.3逻辑模型设计根据系统分析,建立了进销存管理系统的逻辑模型,如图1所示。用户订单信息出货信息产品信息进销存管理系统进库信息库存信息供应商信息客户信息报表显示图12数据表的创建和设计2.1数据库的创建首先建立一个数据库,具体步骤如下:(1)启动Access2003,进入Access2003的设计界面。(2)单击工具栏上的新建按钮,在Access2003界面的右边出现“新建文件”任务窗格。(3)在该任务窗格中选择项,系统弹出“文件新建数据库”对话框。选择数据库的保存路径,并输入文件名为“进销存管理系统”。(4)单击“创建”按钮,进入数据库窗口。2.2设计和建立数据表下面先分别建立所需的数据表:(1)在数据库窗口中双击选项,系统进入表的设计视图。(2)在“字段名称”列的第一行中输入第一个字段,在“数据类型”列表框中选择相应的类型,必要时还可以在“说明”字段列下的文本框填入说明,方便浏览者的理解。然后在下边的字段属性框中,按表里每个字段的设计来修改属性。※3※(3)可以手工为每个表设置主键,也可以由系统自动设置主键。然后输入表名,存盘。对每个表的创建,都是按上述的步骤来完成的。下边列出各个表的逻辑结构设计,在“字段属性”对话框的“常规”选项卡里就按这些逻辑结构来修改。①产品表。产品表的逻辑结构如表1所示。表1产品表的逻辑结构字段名数据类型长度备注产品编号文本10产品名称文本20供应商编号文本10与供应商表有关生产地点文本30单价货币缺省型号文本20设置“产品编号”为主键。②订单表。订单表的逻辑结构如表2所示。表2订单表的逻辑结构字段名数据类型长度备注订单号文本10订单日期日期/时间缺省客户代号文本10与客户表有关产品数量数字缺省订单金额货币缺省目的地文本30订单业务员文本10确认标识是/否缺省记录客户是否对订单确认设置“订单号”为主键。③出货表。出货表的逻辑结构如表3所示。表3出货表的逻辑结构字段名数据类型长度备注订单号文本10出货日期日期/时间缺省客户代号文本10与客户表有关产品编号文本10出货数量数字缺省出货价格货币缺省目的地文本30出货负责人文本10设置“订单号”为主键。④进库表。进库表的逻辑结构如表4所示。表4进库表的逻辑结构字段名数据类型长度备注进库号文本10产品编号文本10进库数量数字缺省进库日期日期/时间缺省负责人文本20设置“进库号”为主键。⑤供应商表。供应商表的逻辑结构如表5所示。※4※表5供应商表的逻辑结构字段名数据类型长度备注供应商编号文本10供应商名称文本20地址文本50电话文本20联系人文本10传真文本20电子邮箱文本20设置“供应商编号”为主键。⑥库存表。库存表的逻辑结构如表6所示。表6库存表的逻辑结构字段名数据类型长度备注产品编号文本10库存量数字缺省存放地点文本50设置“产品编号”为主键。⑦客户表。客户表的逻辑结构如表7所示。表7客户表的逻辑结构字段名数据类型长度备注客户代号文本10客户名称文本30地址文本50电话文本20联系人文本10传真文本20电子邮箱文本20设置“客户代号”为主键。这样,初步完成了数据表的设计。此时,数据库窗口的“表”对象选区如图2所示。图22.3创建表间关系(1)单击Access2003窗口上的工具栏的“工具”菜单,选择“关系”菜单项,或者直接单击工具栏上的关系按钮,系统弹出“显示表”对话框。(2)单击“添加”按钮把所有表都添加到布局中,如图3所示。(3)接下来就是给表建立联系了。比如在“产品表”用鼠标拖动“产品编号”到“出货表”中※5※对应的字段,系统弹出“编辑关系”对话框如图4所示。图3图4单击“创建”按钮,两个表之间的关系便建立了。(4)重复步骤(3),按同样的方法建立所有的关联,得到的关系图如图5所示。图5(5)把“关系”保存。3查询的设计使用“进销存管理系统”的用户,要查看各方面的数据,就要使用“查询”。通过设计查询,使用“进销存管理系统”的用户可以浏览全部数据或部分该用户想查看的数据。3.1设计各表的查询1.产品表查询(1)单击数据库窗口“对象”栏的“查询”选项,双击项。(2)在下拉列表框中选择“产品表”,单击选择所有的字段。(3)单击“下一步”按钮,系统弹出如图6所示的对话框。(4)在该对话框中按默认设置,然后单击“下一步”,系统弹出的对话框如图7所示。图6图7(5)输入查询名称为“产品表查询”,然后单击“完成”,结果如图8所示。图8※6※(6)最后单击工具栏上的保存按钮,保存所作的更改,然后关闭设计视图窗口。2.订单表查询利用向导建立订单表查询的步骤与建立产品表查询的步骤几乎相同,只是在步骤(2)选择“订单表”,步骤(5)输入查询的名称为“订单表查询”,结构如图9所示。图93.出货表查询效仿“产品表查询”的建立步骤,在步骤(2)选择“出货表”,步骤(5)中输入“出货表查询”,结果如图10所示。图104.进库表查询效仿“产品表查询”的建立步骤,在步骤(2)选择“进库表”,步骤(5)中输入“进库表查询”,结果如图11所示。图115.供应商表查询效仿“产品表查询”的建立步骤,在步骤(2)选择“供应商表”,在步骤(5)中输入“供应商表查询”,结果如图12所示。图126.库存表查询效仿“产品表查询”的建立步骤,在步骤(2)选择“库存表”,在步骤(5)中输入“库存表查询”,结果如图13所示。图137.客户表查询效仿“产品表查询”的建立步骤,在步骤(2)选择“客户表”,在步骤(5)中输入“客户表查询”,结果如图14所示。图14※7※3.2为查询选择字段查询一个表的时候,并不一定要查看这个表的所有字段,这种情况下就要为查询选择字段。例如对产品表查询时,只要求看到“产品编号”、“单价”和“型号”这三个字段,创建的方法如下:(1)在数据库窗口单击“对象”栏的“查询”项,选中之前建立的“产品表查询”查询。然后单击数据库窗口工具栏上的按钮,系统弹出查询设计视图,如图15所示。(2)先选中“产品名称”,使它变成,然后按Delete键将它删除。按同样的方法再分别选中“产品名称”、“供应商编号”和“生产地点”,并把它们删除,如图16所示,则这些字段就不会在查询中显示了。图15图16(3)单击工具栏上的运行按钮,结果如图17所示。图173.3为查询选择记录还有一种情况,就是不要查看表的所有记录,而是有选择地查询部分记录。例如查询产品表时,只查询“产品名称”是“中央处理器”的情况,步骤如下:(1)先按照前面的方法留下字段“产品编号”、“单价”、“产品名称”和“型号”。(2)在“产品名称”列的“条件”行里输入“=‘中央处理器’”,并单击其“显示”复选框,不显示“产品名称”字段,如图18所示。(3)单击工具栏上的运行按钮,运行查询的结果如图19所示。图18图193.4为查询选择排序有时为了查看方便,经常需要把查询的结果按照某种顺序来显示数据。例如要在上面的查询结果按照“单价”的“降序”来显示,则步骤如下:※8※(1)在数据库窗口中选中“产品表查询”,单击,弹出查询设计视图。(2)单击“单价”的“排序”行,在其下拉列表框中选择“降序”,如图20所示。图20(3)单击工具栏上的运行按钮,查询结果如图21所示。图21(4)保存查询结果,关闭查询窗口。4窗体的设计对应于需要经常输入及更改数据的表,有必要创建相应的窗体对表中的数据进行操作,下面分别介绍窗体的创建。4.1产品表窗体的创建和设计1.产品表窗体的创建产品表窗体的创建步骤如下:(1)打开数据库窗口,切换到“窗体”对象的选区。(2)用鼠标双击项,系统弹出一个向导对话框。在下拉列表框中选择“表:产品表”,并单击选择表中的所有字段。(3)单击“下一步”按钮,出现第二个向导对话框,这一步是确定窗体的使用布局的,有6种选择,这里选择,如图22所示。(4)单击“下一步”按钮,出现第三个向导对话框,这一步是确定窗体所用的样式,这里选择“国际”样式,如图23所示。图22图23(5)单击“下一步”按钮,出现第四个向导对话框,输入窗体的名称为“产品表”,如图24所示。※9※(6)单击“完成”按钮,保存设计,结果如图25所示。图24图252.为产品表窗体加入命令按钮加入“添加记录”按钮:(1)在数据库窗口中切换到“窗体”对象选区,单击选中刚建立的“产品表”窗体,然后单击工具栏上的按钮,进入窗体设计视图,如图26所示。图26(2)单击工具箱上的命令按钮,鼠标左键单击窗体设计视图“主体”工作区里的任一位置,系统弹出“命令按钮向导”对话框。单击中的“记录操作”和中的“添加新记录”。(3)单击“下一步”,出现如图27所示的对话框,在此对话框选择“文本”,表示按钮上显示的是文本而不是图片。(4)单击“下一步”,出现的对话框要求指定按钮的名称以便于引用,这里输入“cmdAdd”,如图28所示。图27图28(5)单击“完成”按钮,结果如图29所示。这样就实现添加记录的功能了。加入“查看库存”按钮:(1)在没有选中工具箱的控