收藏 分销(赏)

图书销售管理系统.doc

上传人:仙人****88 文档编号:11258593 上传时间:2025-07-11 格式:DOC 页数:42 大小:2.27MB 下载积分:10 金币
下载 相关 举报
图书销售管理系统.doc_第1页
第1页 / 共42页
图书销售管理系统.doc_第2页
第2页 / 共42页


点击查看更多>>
资源描述
摘要 图书销售管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本系统主要完成对图书进销存的管理,包括添加、修改、删除,查询,打印信息以用户管理等六个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。 系统采用Microsoft Office中的Access 2003来设计数据库,并使用当前优秀的开发工具—VB 6.0,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。 论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。 关键词:控件、窗体、数据库,visual basic,图书进销存 ABSTRACT The system of managing student's achievement file is a typical application of managing information system (know as MIS), which mainly includes developing the application interface of front-end and building up and maintaining the data-base of back-end. The former should make the function of application integrated and the usage is easy, the latter required a data-base with powerful consistency and integrality, and nice security. This system mainly completes the management to student's achievement; include six aspects such as adding, modifying, deleting, searching, printing information and the customer management. The system can complete to browse, search, add, delete, modify etc. to each kind of the function of information. The system adopts the Access2000 within the Microsoft Office to design the data-base, and use the current excellent development tool- Visual Basic 6.0; it has the most vivid data-base structure, and has the good support to the application of the data-base. The thesis mainly introduced the development background of this topic, finished function and the process of the developments required. Elaborated on the pivot, the design idea, the difficulty technique and the solution of the system design. Keywords: achievement, data-base, Access, Visual Basic 目录 摘要 I ABSTRACT II 第1章 引言 1 第2章 系统实现的理论基础 2 2.1 VISUAL BASIC 6.0 简介 2 2.2 ACCESS 数据库介绍 2 2.3 ADO技术 3 2.4 SQL语言 4 2.5 本章小结 5 第3章 系统需求和可行性分析 6 3.1 系统介绍 6 3.2 系统面向的用户群体 6 3.3 系统的功能性需求 7 3.4 系统的非功能性需求 8 3.4.1 用户界面需求 8 3.4.2 软硬件环境需求 8 3.4.3 软件质量需求 8 3.5 可行性分析报告 8 3.5.1 技术可行性 8 3.5.2 时间、设备可能性 8 3.5.3 系统工作量 8 3.5.4 代码工作量 8 3.5.5 文档要求 9 3.6 开发环境与项目规划 9 3.6.1 开发环境 9 3.7 软件界面设计标准与规范 9 3.7.1 编写目的 9 3.7.2 界面设计思想 9 3.7.3 界面设计原则 9 3.8 本章小结 9 第4章 系统设计 10 4.1 系统分析 10 4.2 数据库设计 11 4.2.1 系统流程图 11 4.2.2 各模块的E-R图设计: 11 4.3 系统功能介绍 16 4.4 本章小结 20 第5章 系统实现 21 5.1 系统实现关键代码 21 5.2 系统主界面代码 21 5.3 添加商品界面代码 24 5.4 进货统计界面代码 28 5.5 员工管理界面代码 32 5.6 本章小结 35 第6章 结束语 36 第7章 致谢 37 参考文献 38 - 38 - 第1章 引言 本软件使用Microsoft Visual Basic 6.0进行编写。数据库技术的产生与发展源于对于数据的组织和管理。数据库技术是数据管理的技术,它随着数据管理任务的需要而产生于20世纪60年代中期。这是一门综合性技术,涉及操作系统,数据结构,算法设计和程序设计等知识。数据库技术的基本思想是对数据实行集中,统一,独立的管理,用户可以最大限度的共享数据资源。 数据库系统实际上是一个应用系统,它是在计算机硬,软件系统支持下,由用户,数据库管理系统,存储在存储设备上的数据和数据库应用程序构成的数据处理系统。数据库系统是由数据,数据库管理系统,应用程序,用户组成。 数据库的特点:1.实现数据共享 2.实现数据独立3.减少了数据冗余度 4.避免了数据不一致性5.加强了对数据的保护。 数据库应用系统(DATABASE APPLICATION SYSTEMS DBAS)包括 1. 管理信息系统 2. 开放式信息服务系统 一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来的。 第2章 系统实现的理论基础 2.1 VISUAL BASIC 6.0 简介 Visual Basic作为当今社会功能强大的可视化开发工具具有以下几大特点: (1)成功的简化了界面的设计过程。它在Windows平台上提供了图形用户界面(GUI)的集成开发环境(IDE)。在集成开发环境中,你可以选择想要显示的工具栏,将按钮添加并移动到工具栏中,在不固定的或固定的工具栏中以及SDI或MDI界面中进行选择,Visual Basic的IDE就像飞机的座舱,完成你工作所需的所有量表和仪器都已经配备好了。采用简单易学的Basic语言,它既适用于没有任何编程经验的开发者学习,也适合于开发各种复杂的底层应用程序,使用Basic语言编写的应用程序简洁灵巧易于维护,可以说它是一种“天生结构化”的语言。 (2)提供了多种向导。利用这些向导,可以快速地完成一般性的任务,例如生成其控件绑定到数据控件上的纯代码窗体,建立查询,添加工具,制作图表,以及发布创建的应用程序等,这样可以大大加快应用程序的开发过程。 (3)具有强大的数据和字符串处理功能。Visual Basic还是一种易于扩充功能的开发系统。一方面,它可以使用第三方厂家提供的各种Visual Basic使用的控件;另一方面,开发者也可以使用其他编程语言编写自己所需的控件,因此它是一种可以不断扩充功能的开发系统。 (4)提供了IntelliSense技术。当你在Visual Basic的代码窗口敲进对象名称的时候,IntelliSense技术会自动向你显示一些相关的信息,例如对象的属性和方法等。当一种方法或函数的参数被输入时,IntelliSense有助于确保开发者们为Visual Basic提供正确的变量以及帮助用户自己编写正确的函数。IntelliSense也有助于提高开发者们的开发能力,因为他们此时不必再记忆那些复杂的对象属性及函数参数了。 2.2 ACCESS 数据库介绍 Microsoft Access 是微软公司开发的第一个面向Windows平台的桌面数据库管理系统,它充分利用了Windows平台的优越性,如图形界面和Windows的事件驱动机制等。 作为Microsoft的office套件产品之一,Access已经卖出了近700万份,成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型积极大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。 2.3 ADO技术 Active Data Objects(ADO)微软最新的数据库访问技术,它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提高通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。 ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation的封装接口。对那些熟悉RAO的程序员来说,可以把OLE DB比作是ODBC驱动程序。如同RAO对象是ODBC驱动程序接口一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB Provider)。 ADO最重要的三个对象是:Connection, Command, Recordset。 (1) Connection对象 Connection对象用于建立与数据库的连接。通过连接可从应用程序访问数据源。它保存诸如指针类型,连接字符串,查询超时,连接超时和缺省数据库这样的连接信息。 (2) Command对象 在建立Connection后,可以发出命令操作数据源。一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询。Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。 (3) Recordset对象 Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集。在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。Record对象用于指定行,移动行、添加、更改、删除记录。 2.4 SQL语言 SQL语言是一种介于关系代数与关系演算之间的结构化查询语言,其功能不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。 SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时有简单易学的语言。SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括: (1) 综合统一 数据库系统的主要功能是通过数据库支持的数据语言来实现的。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入运行后,还可根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而是系统具有良好的可扩展性。 (2)高度非过程化 非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。 (3)面向集合的操作方式 非关系数据模型采用的是面向记录的操作方式,操作对象是一记录。例如查询所有平均成绩在80分以上的学生姓名,用户必须一条一条地把满足条件的学生记录找出来(通常要说明具体处理过程,即按照哪条路径,如何循环等)。而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 (4)以同一种语法结构提出两种使用方式 SQL语言既是自含试语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语言能够嵌入到高级语言(例如C、COBOL、FORTRAN)程序中,供程序员设计程序时使用。而在两中不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的做法,提供了极大的灵活性与方便性。 (5)语言简捷,易学易用 SQL语言功能极强,但由于设计巧妙,语言十分简捷,完成核心功能只使用了9个动词:数据查询(SELECT)、数据定义(CREATE,DROP,ALTER)、数据操作(INSERT,UPDATE,DELETE)和数据控制(GRANT,REVOKE)。SQL语言接近英语口语,因此容易学习,容易使用。 2.5 本章小结 本章主要介绍了现在较为主流的几个应用程序开发软件和技术,以及他们相应的几个优,特点。对VB,Access,SQL以及ADO的其中几个将在图书销售管理系统中应用到。 第3章 系统需求和可行性分析 3.1 系统介绍 本系统定位于中小型书店、个体书店,暂时考虑单机环境下的实现;操作系统选择目前常用的Windows 2000/xp。系统性质为MIS(管理信息系统)或财务软件。 本系统采用会员制管理,系统功能应包含进书管理、售书管理、退货管理、库存管理、统计分析、相关人员管理等。系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。 3.2 系统面向的用户群体 系统面向中小型书店、个体书店,用户群体为这些书店的经理、采购员/仓库管理员、图书销售人员等。 3.3 系统的功能性需求 图3-1 系统功能模块图 (1) 功能序号 功能名称 功能说明 (2) 供应商管理,包含供应商信息的登记、修改等 (3) 图书资料管理,包含图书资料的添加、修改等 (4) 新书入库管理,登记新书的来源、数量、单价、金额等 (5) 库存统计,分门别类统计图书现有库存量、入库时间等 (6) 进货记录查询,查询历次进货记录 (7) 退货登记,登记供应商、图书种类、退货的数量等 (8) 退货记录查询,查询历次退货记录 (9) 图书销售管理,登记销售的种类、数量、单价等 (10) 员工管理,包含员工帐号的创建、修改、删除等 (11) 个人资料、密码管理,提供修改个人资料、密码的工具 3.4 系统的非功能性需求 3.4.1 用户界面需求 简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。 3.4.2 软硬件环境需求 软件环境:兼容当前主流操作系统 Windows 95/98/NT/Me/2000/XP 等。 硬件环境:386以上计算机,打印机等。 3.4.3 软件质量需求 易用、健壮、兼容性好、运行稳定、有一定安全保障。 3.5 可行性分析报告 3.5.1 技术可行性 系统的性质为MIS或财务软件,因而数据库的设计与操纵是系统设计的核心。我经过老师的指导后具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;指导老师郑祺多年从事数据库的教学与研究工作,因而该系统的实现在技术上是可行的。 3.5.2 时间、设备可能性 系统设计与开发工作预计耗时三至四个月,在预定时间内能够保证按时完成任务。实验设备如:计算机、打印机、扫描仪等不足,上机任务可以完成,打印机、扫描仪的实验根据具体条件暂时延缓执行。 3.5.3 系统工作量 该系统的工作量相对于我个人来说很大,必须保证按进度完成任务。实际工作量预计超过三个月(每天2-3小时)。如包含软件维护及技术文档的整理、制作,工作量将更大。 3.5.4 代码工作量 预计需40天左右。 3.5.5 文档要求 依据国家《计算机软件产品开发文件编制指南》和《现代软件工程》的理论与原则编制标准的软件技术文档。 3.6 开发环境与项目规划 3.6.1 开发环境 前台开发环境:Microsoft Visual Basic 6.0 后台数据库环境:Microsoft Access 2003/2007 3.7 软件界面设计标准与规范 3.7.1 编写目的 制定界面设计标准规范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。 3.7.2 界面设计思想 首先考虑标准化,在标准化的基础上进行界面的美工设计。 3.7.3 界面设计原则 简单易用、简洁明了、兼容性好、标准、规范。 3.8 本章小结 本章主要对于开发软件所需要的必要条件和设备做了基本的需求性和可行性分析。对软件开发的要求和理论基础也有了基本的介绍。在系统需求性分析当中,阐述了图书销售管理环节中的各种衔接关系,以及在图书销售管理中所需要面对的各类问题与解决方法。 第4章 系统设计 4.1 系统分析 作为一个图书销售管理系统,其功能是实现进销存公司或个人企业进销存管理的系统化、规范化和自动化。本系统主要要完成的功能有: (1)交易管理:包括进货登记、销货登记、退货登记等。其中进货登记中还包含进货商登记,如过是新的进货厂商,可以直接在此登记入库。进货和进销存的主要交易都是在此进行。每次交易(包括进货、销货和退货)都需要对图书名称、生产厂商、图书型号、单价、数量、总金额、交易日期、经手业务员编号等各项记录。在交易过程中,程序的编写尽可能的方便员工进行交易,比如:进货登记时,如果图书编号相同,则自动添加该图书的其它属性;销货登记时,用户只要输入图书编号,该图书的其它属性即可自动出现。退货登记时,只要输入正确的销货编号,其进销存信息也将自动列出,尽量的方便了用户的操作,同时对于登录的员工编号程序也自动的将其列在进货登记、销货登记中,已防止员工进行非正常的交易。 (2)进货统计:包括今日进货统计、本月进货统计、本季度进货统计、本季度进货统计、本年度进货统计等。其中每次进货统计都是按进货厂商和进货总金额统计显示的。使用一个表格显示所选时间段的全部进货数据,包括进货编号、图书名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的进货总金额。 (3)销货统计:包括今日进销存统计、本月进销存统计、本季度进销存统计、本年度进销存统计等,其中每次进销存统计都是按生产厂商和进销存总金额统计显示的。使用一个表格显示所选时间段的全部进销存数据,包括销货编号、图书名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的进销存总金额。 (4)查看数据表:实现各种数据表的浏览,包括进货表,图书库存表、进销存表、退货表、员工表、进货商表等。对于员工表管理员还可以对其进行删除或添加用户操作。 (5)系统管理: 包括更换用户、修改密码、退出系统等。更换用户的操作方便了用户的使用,同时更加方便了管理员对于系统数据的查询,可以做到随时查看,以使管理员对帐目一目了然,同时方便了普通用户的交接班使用本系统。修改密码和退出系统都是对于系统管理的辅助功能,再这里就不详细说明了。 (6)其它窗体: 包括主窗体、登录窗体、系统初始化窗体。主窗体就是将各个模块的大意列在菜单中,然后通过每一个菜单将其它的窗体逐个对应的连到主窗体中。登录窗体为本系统的启动窗体,其功能是让合法的用户使用本系统,已防止其它的非法人员使用该系统。并对登录的用户做一下权限的区别:分为管理员和普通员工。系统初始化窗体的主要目的是:在本系统的试运行阶段成功后是管理员可以直接把除了员工表以外的所有数据表的内容清零。登录窗体中设计了一个权限,可以区分是员工登录还是管理员登录,如果是管理员则提示是否进行系统初始化,否则直接进入主窗体。 4.2 数据库设计 4.2.1 系统流程图 图4-1 系统流程图 4.2.2 各模块的E-R图设计: 交易管理模块:用于管理图书的进货,进销存,退货登记的操作。实体E-R图如下: 图4-2交易管理模块E-R图 进货统计管理:主要用于对图书每日,每月,第季度,每年的进货情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态。实体E-R图如下: 图4-3进货统计管理E-R图 进销存统计管理:主要用于对图书每日,每月,第季度,每年的进销存情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态。实体E-R图如下: 图4-4进销存统计管理E-R图 查看数据表:主要能查看进货表,图书信息表,进销存表,退货表等进行查看,以实现对图书信息的及时了解。实体E-R图如下: 图4-5查看数据表E-R图 上面提到的各种功能的实现都离不开数据库的支持,因此数据库设计作为本系统设计的一部分不可缺少。开发本系统中使用的数据库系统是Windows Access 2000 。从上面的功能分析不难看出本系统需要建立以下几个数据表:buy表(进货表)、goods表(现存图书表)、sell表(进销存表)、retreat表(退货表)、employee表(员工表)、manufacturer表(进货商表)。由于数据量比较小,所以这些数据表都存在一个数据库下:sellsystem.mdb 下面对各个数据表的结构做一下简单介绍: 在系统的数据库设计中,进货表、销货表、图书库存表和退货表涉及了交易管理三个子菜单的绝大部分数据,是本系统数据库的核心,所以将对其部分表的设置列表显示。 manufacturer表(进货商表)中包括有厂商编号、厂商名称、联系人姓名、电话、厂商地址等字段,表略。 employee(员工表)中包括有员工编号、员工姓名、员工密码、员工电话、员工地址等字段,表略。 buy表(进货表)中包括有进货编号、图书编号、图书名称、生产厂商、型号、数量、进货价、进货年、进货月、进货日、总金额、业务员编号等。设计该数据表的主要目的是方便管理员的查看,使系统的数据管理能够更加层次化。具体设置如表4-1所示。 表4-1 buy表 字段名 数据类型 说明 是否为空 是否主键 进货编号 文本 字段大小为20 否 图书名称 文本 字段大小为50 否 生产厂商 文本 字段大小为50 否 型号 文本 字段大小为20 否 数量 数字 长整型 否 进货价 货币 货币 否 进货年 数字 整型 进货月 数字 整型 进货日 数字 整型 业务员编号 文本 字段大小为20 否 是 总金额 货币 货币 否 goods表(现存图书表)中包括有图书编号、生产厂商、图书名称、型号、进货价、销货价、数量、进货年、进货月、进货日、业务员编号、总金额等字段。具体设置如表4-2所示。 表4-2 goods表 字段名 数据类型 说明 是否为空 是否主键 图书编号 文本 字段大小为20 否 是 图书名称 文本 字段大小为50 否   生产厂商 文本 字段大小为50 否   型号 文本 字段大小为20 否   数量 数字 长整型 否   进货价 货币 货币     销货价 货币 货币     retreat表(退货表)中包括有退货编号、销货编号、生产厂商、图书名称、型号、单价、数量、总金额、退货年、退货月、退货日、业务员编号等。具体设置如表4-3所示。 表4-3 retreat表 字段名 数据类型 说明 是否为空 是否主键 退货编号 文本 字段大小为20 否 是 销货编号 文本 字段大小为20 否   图书名称 文本 字段大小为50 否   生产厂商 文本 字段大小为50 否   型号 文本 字段大小为20 否   单价 货币 货币 否   数量 数字 长整型 否   总金额 货币 货币     退货年 数字 整型     退货月 数字 整型     退货日 数字 整型     业务员编号 文本 字段大小为20   否 sell表(销货表)中包括有销货编号、图书编号、图书名称、生产厂商、型号、数量等字段。具体设置如表4-4所示。 表4-4 sell表 字段名 数据类型 说明 是否为空 是否主键 销货编号 数字 字段大小为20 否 否 商品编号 数字 字段大小为20 否 否 商品名称 文本 字段大小为50 否 生产厂商 文本 字段大小为50 否 型号 文本 字段大小为20 否 单价 货币 货币 否 数量 数字 整型 否 总金额 货币 货币 销售年 数字 整型 销售月 数字 整型 销售日 数字 整型 销售时 数字 整型 销售分 数字 整型 销售秒 数字 整型 业务员编号 文本 字段大小为20 是 employee表(员工表)中包括有员工编号、姓名、密码、电话、地址等字段。具体设置如表4-5所示。 表4-5 employee表 字段名 数据类型 说明 是否为空 是否主键 员工编号 数字 整型 否 是 员工姓名 文本 字段长度30 否   员工密码 文本 字段长不得小于3位 否   员工电话 数字 整型 否   员工地址 文本 字段长度50 否   manufacturer表(厂商联系表)中包括有厂商编号、名称、联系人姓名、电话、厂商地址等字段。具体设置如表4-6所示。 表4-6 manufacturer表 字段名 数据类型 说明 是否为空 键值 厂商编号 数字 整型 否 是 厂商名称 文本 字段大小为50 否   联系人姓名 文本 字段大小为20 否   电话 数字 长整型 否   厂商地址 文本 字段大小为50 否   4.3 系统功能介绍 (1)登录窗体 该登录窗体对用户登录做了一个简单的判断,如果是管理员登录则可进入初始化界面,然后再进入主界面。 具体做法是:先在窗体级中定义一个记录集,用于打开employee表,打开后将该表中的字段:员工姓名,依次加到combo1中。全加入后关闭记录集,然后对combo1和text1中的内容做一下简单判断:如果combo1和text1中的数据正好和employee表中的某个记录相同,则通过登录窗体,否则提示用户用户名或密码有误。在通过登录窗体中还要对用户名做一下判断:如果是管理员登录,则进入系统初始化窗体,如果是普通用户登录,则进入主界面。 (2) 初始化窗体,该初始化窗体为本系统的使用者提供了试运行服务,如果使用者试运行后决定正式使用,可以通过管理员登录本窗体对系统进行初始化,即清空试运行阶段的所有进销存数据。具体实现过程为:定义5个记录集,其每一个记录集控制一个数据表的打开与关闭操作,其记录集的取名与数据表相近:rs_sell, rs_buy, rs_goods, rs_retreat,rs_manufacturer.当管理员点击是标签时,先出现一个消息框,问管理员是否真的要进行初始化。如果是,则5个记录集依次连接到5个数据表上,然后对每个数据表的内容进行删除操作。具体删除方法为:先对表的状态进行判断,如果某个数据表的内容为空,则直接关闭记录集,以免多步操作数据表出现错误;如果该数据表不为空,则依次删除该数据表的每一个记录,对于每一个数据表都要做此判断,并且每打开一个新的数据表都要关闭上一个数据表,这样操作起来层次显得比较清晰,而且维护起来也比较方便。 (3)主窗体,主窗体的建立十分简单,只需将所要实现的功能编辑成菜单即可。该窗体的运行过程为:用户首先进入登录窗体,如果是管理员登录,则先进入初始化窗体,经过判断是否需要初始化后,进入主窗体。其权限为:销货统计、进货统计、查看数据表和系统管理。其权限的设置使管理员能够方便的查看任何时间段内的所有信息,还可以对员工表进行管理。如果是普通用户登录,则直接进入主窗体,其授予的权限只有交易管理和系统管理,也就是说员工只能负责对图书进行如库登记、销货登记和退货登记,另外在一个员工对本系统使用的整个期间内,进货登记、销货登记和退货登记三个窗体中的显示的业务员编号都由系统自动给出的该员工的员工编号。 (4)进货登记窗体,本窗体用来实现图书进货功能,将进货信息添加到buy表,再将该信息选择性的加入goods表。如果是新的进货厂商,可以在此入库登记。其具体实现过程如下所述:先在窗体级变量中定义三个记录集:rs_buy,rs_goods,rs_manufacture用来控制三个数据表:buy表,goods表,manufacturer表。在用户点击添加图书中的添加入库操作之前,程序先会检查是否有用户是否有个别属性为空,并做出提示。然后将图书添加到buy表中,再添加到goods表。在添加到goods表时,程序会先判断该图书编号是否已经存在,如果存在则直接将该添加信息的数量加到goods表中相应的记录上。为此,进货编号、图书编号是buy表、goods表中不可重复的属性。为方便用户操作,程序特在图书编号的文本框:text2的Change事件中做了一个判断,即如果该图书编号存在的话直接显示该图书的其他属性。另外,对于总金额文本框也是由数量和进货价两个文本框的Change事件计算入内的。如果是新的进货商,可以将它的信息添加到进货商表。其过程和上面所说的添加到buy表基本相同,这里就不做介绍了。 (5)销货登记窗体,本窗体主要功能是对图书进行进销存,首先对员工输入的销货信息进行完整条件的判断,条件符合后进行进销存。然后将进销存信息存入sell表,并对goods表的数量做相应修改。具体实现过程为:先在窗体集中定义两个记录集:rs_sell,rs_goods,用来控制两个数据表:sell表和goods表。在销货窗体中,如果用户输入的图书编号已经存在,则该图书的其它属性将随着text2(即图书编号)的Change事件出现在其对应的位置上。而进销存日期和业务员编号已经是程序默认给出的系统时间和登录员工的编号。在判断没有空缺属性后该图书将顺利添加如库,而且该图书在goods表中的数量也将随之做相应的改变,使goods表和sell表的总和保持原来goods表中的数量值。 (6)退货窗体,本窗体的功能是实现图书退货功能,当人为判断某图书可以退货时即可将该图书退货。其数据库实现为:先将该信息加入retreat表,然后从sell表中减掉,最后对goods表的数量做一下调整即可。其具体实现过程是:先在窗体集中定义三个记录集:rs_sell,rs_goods,rs_retreat用来控制三个数据表:sell表、goods和retreat表。在退货窗体中,如果用户输入的销货编号存在,则关于该图书的进销存信息将依次出现在相应的对话框中。退货成功后,该退货信息先添加到退货表,然后将其退货数量从相应的sell表中减掉,并添加到goods表中。 (7)进货统计菜单,进货统计菜单下有4个子菜单,分别是今日进货统计、本月进货统计、本季度进货统计、今年进货统计。由于他们的界面非常相似,本程序中使用了一个SSTab控件以选项卡的形式在一个窗体中实现以上4个子菜单。这样做使窗体显得更加美观。 项目添加了必要的控件之后,开始进行界面设计。先在窗体上添加一个SSTab控件,单击鼠标右键在快捷菜单中选择“属性”命令。将其选项卡的数目定为4个,标题分别为:今日进货、本月进货、本季度进货、本年度进货。由于每个选项卡的界面都一样,现以“今日进货”选项卡为例,加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件。其中两个Adodc的数据源连接都是才用的相对路径与sellsystem的buy表连接的,两个Adodc连接的SQL语句分别如下: select * from buy select 生产厂商,sum(总金额) as 各厂商进货总金额 from buy group by 生产厂商。 (8)销货统计窗体,进销存统计菜单下有4个子菜单,分别是今日销货、本月销货、本季度销货、今年销货。由于它们的界面非常相似,本程序中使用一个SSTab控件以选项卡形式在一个窗体中实现4个子菜单。其界面设计和窗体说明与进货统计大同小异,也一样一个选项卡为例进行说明,现以“今日销货”为例:加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件。其中两个Adodc的数据源连接都是采用的相对路径与sell表连接的,两个Adodc连接的SQL语句分别如下: select * from sell select 生产厂商,sum(总金额) as 各厂商销货总金额 from sell group by 生产厂商。 (9)查看进货表,其界面的设计比较简单,只是一个datagrid控件,一个Adodc控件(已隐藏)和四个Command控件。本窗体的主要设计在于其四个命令按钮在进货表为空时不可用。 (10)查看进货表,本窗体的主要设计目的是设置一个查询图书库存表的条件。具体操作为:为查询现存图书表设立了一个简单的查询条件,一个是直接显示现存的全部图书表,一个是按条件对现存图书进行查询,用户可以根据自己需要按图书名称或生产厂商分别进行查找。该窗体的实现是要在窗体集的变量中设置一个记录集rs_goods,用来控制
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服