毕业设计(论文)-餐饮企业管理系统的设计与实现.doc_第1页
毕业设计(论文)-餐饮企业管理系统的设计与实现.doc_第2页
毕业设计(论文)-餐饮企业管理系统的设计与实现.doc_第3页
毕业设计(论文)-餐饮企业管理系统的设计与实现.doc_第4页
毕业设计(论文)-餐饮企业管理系统的设计与实现.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2011级专科毕业论文 餐饮企业管理系统的设计与实现 所在院(系): 管理信息系统学 生: 指导教师: 研究起止日期: 摘 要随着我国经济的快速发展,人民生活水平日益提高,餐饮消费需求越来越高,餐饮业突飞猛进。但与此同时,其所面临的竞争也越来越激烈。餐饮业要想在白热化的竞争环境下生存,就必须运用科学的管理思想与先进的管理方法,使点餐与管理一体化。因此,餐饮企业的管理者需要一种综合,实时的管理模式,减轻工作负担,提高工作效率、降低经营成本,从更科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜。首先分析了餐饮系统对现实餐饮运营管理的必要性,接着介绍了本系统所涉及到的相关技术和开发环境。在此基础之上介绍了系统的总体设计以及公共模块、主窗体模块、登入模块、开台管理模块、进货模块等典型模块的详细设计与实现。本系统主要包括前台管理、后台管理、财务管理、系统管理、报表打印等功能。实现了实时的管理模式,可以减轻工作负担、提高工作效率、降低经营成本。方便、快捷、易用,达到了设计的目的。关键词:餐饮;管理信息系统; Visual Basic 6.0; SQL Server2000目 录1 绪论.1 1.1引言11.2系统设计目的和现实意义11.3开发工具介绍12 餐饮企业管理系统分析.42.1设计目标42.2需求分析42.3系统可行性分析43 餐饮企业管理系统设计.53.1系统功能分析53.2系统功能结构54 餐饮企业管理系统数据库设计.64.1数据库概念设计64.2数据库逻辑结构设计84.3数据库结构的实现.115 餐饮企业管理系统实现.125.1公共模块设计.125.1.1数据库连接.125.1.2错误信息显示函数.135.2主窗体的创建.135.3系统登入模块的实现.155.4开台管理模块的实现.175.5进货管理模块的实现.226 系统测试.267 开发总结.27参考文献28致谢.291 绪论1.1 引言随着我国经济的快速发展,人民生活水平日益提高,餐饮消费需求越来越高,餐饮业突飞猛进。但与此同时,其所面临的竞争也越来越激烈,餐饮业要想在白热化的竞争环境下生存,就必须运用科学的管理思想与先进的管理方法,使点餐与管理一体化。因此,餐饮企业的管理者需要一种综合,实时的管理模式,减轻工作负担,提高工作效率、降低经营成本,从更科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜,开发出一个信息管理系统-餐饮管理系统便成为必然。1.2 系统设计目的和现实意义在金融危机的冲击下,我国改革开放不断深入,市场竞争日趋激烈,企业要想进一步发展,不得不进行现代化的管理。餐饮企业管理的自动化、信息化是必然选择。为了应对激烈的市场竞争,提高餐饮企业运作效率,建立餐饮管理系统已十分必要。通过对餐饮企业日常运作的了解,参考大量的资料,综合系统结构组织,功能实现,技术要求以及可行性等多方面的考虑,认为本课题是一个符合现今餐饮企业发展需要的计算机信息管理系统,具有一定的实际开发价值和使用价值。用计算机管理信息系统已成为现代化企业管理的重要标志,它给企业管理来了明显的经济效益和社会效益。主要表现:极大提高了工作人员的工作效率,大大减少了人工操作的繁杂;基于餐饮企业管理的全面自动化,可以减少进货管理、销售管理及库存管理中的漏洞,可以减少管理开支,增加收益。餐饮企业管理的信息化有利于全面提高了餐饮企业的管理水平。因此,开发一个易于操作的餐饮企业管理软件对我国餐饮企业的发展具有重要意义,这正是本系统开发的目的和意义。1.3 开发工具介绍本系统基于Visual Basic 6.0 平台,完成对餐饮管理系统的开发,包括前台管理、后台管理以及系统配置管理;实现对工作人员的管理,访问权限管理;实现销售报表的生成。数据库采用SQL SERVER 2000,ADO连接方式,通过建立ODBC数据源进行数据的访问,修改。(1)开发工具:Microsoft Visual Basic 6.0。Visual Basic 6.0简介Visual Basic 6.0起源于DOS时代的BASIC语言,BASIC语言曾是最流行的计算机编程入门语言及最主流的计算机教学语言。Visual Basic 6.0是微软公司于1998年推出的Visual Studio 98中的一个组件。Visual Studio 98主要包括Visual c+ 6.0、Visual Basic 6.0、Visual Foxpro 6.0、Visual J+ 6.0、Visual Internet 6.0和MSDN Library 6.0,几乎囊括了当前应用程序开发的各个方面,从中总可以找到满足需要的工具,VB是一种可视化的、面向对象的Windows开发语言。VB从其问世之初,就有易用、通用和开发效率高的特点,这一特点VB一直保持着。随着微软对它不断的改进以及计算机本身在性能上的迅速提高,VB在程序性能上的缺陷也变得不那么关键。这使VB越来越适合于一般的应用程序开发。VB在顶尖的开发场所是开发关键性任务的主要语言,几乎可以做任何想做的事情。VB一个很大的优点是迅速有效地编制程序界面。VB的快速程序开发环境在界面设计和程序开发中是很有效的。另外,在现代社会中,程序必须随着外界的变化而不断改变,VB就很适合于这类工作。使用VB的一个有效方法是将VB与其它开发工具结合起来。VB可以用来做程序界面,以及其它一些经常变化的部分,而用C语言来编制的动态链接库被VB调用以优化速度。也可以用C语言产生自己的OLE控件,然后在VB中使用。(2)后台数据库:采用Microsoft SQL Server 2000设计。SQL Server 2000简介SQL Server是由Microsoft公司开发和推广的高性能的客户端/服务器结构的关系数据库管理系统(DBMS),最初由Microsoft、Sybase和Ashton-Tate三家公司共同开发,1988年推出第一个版本。1990年,Ashton-Tate公司退出开发,1992年,SQL Server移植到NT上,1994年两家公司分别开发,Microsoft公司专注于开发和推广SQL Server的Windows NT版,而Sybase公司则专注于SQL Server在UNIX操作系统上的应用。2000年Microsoft公司正式发行了SQL Server 2000版本,SQL Server 2000在数据库性能、数据可靠性、易用性方面做了重大改进,并新增了许多新功能。SQL Server 2000有七种不同的可用版本:企业版、企业评估版、标准版、开发版、个人版、Windows CE版和桌面引擎版。由于企业版支持SQL Server 2000中的所有可用功能,并可根据支持最大的Web站点和企业联机事务处理(OLTP)及数据仓库系统所需的性能水平进行伸缩,多作为生产数据库服务器使用,故本系统采用企业版。SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证。SQL Server为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。SQL Server可以在不同的操作平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、Apple Talk等。SQL Server提供服务器端的软件,这部分需要安装在NT Server上,SQL Server的用户端则可以安装在许多用户端PC系统中,Windows可以让用户端进行数据库的建立,维护及存取等操作,SQL Server可以最多定义32767个数据库,每个数据库中,可以定义20亿个表格,每个表格可以有250个字段,每个表格的数据个数并没有限制,每一个表格可以定义250个索引。SQL Server所使用的数据库查询语言称为Transact-SQL,它是SQL Server的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,还可以使用规则,缺省以及限制,来协助将新的数值套用到表格中去。2 餐饮企业管理系统分析2.1 设计目标餐饮企业管理系统开发的总体任务是实现餐饮企业管理的系统化和自动化,从而提高企业管理效率。餐饮管理系统以经济、实用、便捷、高效为原则,为企业管理者、员工提供一个便捷、轻松的工作环境。2.2 需求分析本系统是为方便餐饮企业管理而开发的,系统的用户对象是餐饮企业的工作人员,由于本系统界面友好,操作简单易学。本系统主要具有以下功能:(1)实现信息共享,相互之间的信息传递准确、快捷。(2)业务管理信息化,方便的数据查询,提高准确性,减少人为失误。(3)如果系统的使用对象较多,则要求有较好的权限管理。(4)有效管理原材料及库存信息。(5)结算方便可靠。2.3 系统可行性分析2.3.1 经济上可行性目前,计算机的价格便宜,性能高,并且网络已普及。本系统的开发体现了以下几个特点:第一,本系统的运行可以提高餐饮企业管理的效率,为企业节省大量的人力物力,降低企业运作成本;第二,本系统操作简单,非计算机专业人士通过短期的学习就可熟练操作。 所以,本系统在经济上是可行的。2.3.2 技术上可行性本系统前台采用VB作为开发工具,后台数据库使用的是SQL Server 2000,该数据库系统具有安全性好、准确性高、运行速度快、处理数据量大、效率高等优点。所以,本系统的设计开发在技术和硬件设备上的要求都可满足,因此,它在技术上也是可行的。2.3.3 运行上可行性本系统是为一个中小型餐饮企业而设计的管理系统,对电脑在硬件和软件的要求都不高,因此,本系统运行上是可行的。3 餐饮企业管理系统设计3.1 系统功能分析餐饮管理系统是一个中小型而又实用的餐饮企业管理软件,它对系统的要求不高,操作方便,简单实用,主要功能如下:(1)前台管理前台管理的使用最为频繁,可以实现开台管理、菜单管理、买单管理、当日结账等功能。(2)后台管理主要实现进货管理、进货查询、库存查询、原材料信息管理、员工信息管理、员工级别管理、部门信息管理、仓库信息管理等功能。(3)财务管理主要包括月结算管理、应付款管理、月营业分析、年营业分析等功能。(4)系统主要有权限管理、本单位定义等功能。3.2 系统功能结构本系统功能模块如图3-1 :图3-1 功能模块图4 餐饮企业管理系统数据库设计在开发餐饮管理系统之前,分析了本系统的数据量。由于后台的原材料信息和点餐的人数可能会很多,因此原材料信息、点单信息等数据量都比较大,要占用大量的数据空间,数据库在一个信息管理系统中占有重要地位,数据库结构设计的好坏将直接影响系统的效率以及功能的实现。本系统使用SQL server 2000,数据库名称为CYGLXT。下面主要从概念结构设计、逻辑结构设计和数据库实现这几方面介绍本系统的数据库设计。4.1数据库概念设计 通过对系统进行的需求分析、业务流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象及实体E-R图。用户权限信息实体的E-R图如图4-1所示。图4-1 用户权限信息实体E-R图部门信息实体的E-R图如图4-2所示。 图4-2 部门信息实体E-R图房间台号信息实体的E-R图如图4-3所示。图4-3 房间台号信息实体E-R图点单临时信息实体的E-R图如图4-4所示。图4-4 点单临时信息实体E-R图商品基础信息实体的E-R图如图4-5所示。图4-5 商品基础信息实体E-R图4.2 数据库逻辑结构设计根据以上的实体关系E-R图,设计出的表格结构如下。权限信息表根据用户登录系统的需求设计出权限信息表,用来存储用户登录系统的用户名、密码、权限信息等。表结构如表4-1所示。表4-1 权限信息表的结构字段名数据类型长度编号varchar10操作员姓名varchar12员工级别varchar20密码varchar50权限varchar20部门信息表部门信息表是根据餐饮店的实际情况设计出来的,其中包含所有部门的相关信息,在用户输入部门时可以以下拉列表框的形式列出所有部门,使其操作更方便、快捷。部门信息表结构如表4-2所示。表4-2 部门信息表结构字段名数据类型长度部门编号varchar10部门名称varchar20负责人varchar10部门电话varchar10部门职能varchar50房间台号信息表根据房间台号信息的特征构造了房间台号信息表。通过房间台号信息表可以让用户了解房间台号的信息,方便用户根据客人的实际情况为客人安排房间。房间台号信息表结构如表4-3所示。表4-3 房间台号信息表结构字段名数据类型长度编号varchar10房台名称varchar30类型说明varchar20部门varchar20服务费money8简要说明varchar30状态varchar10容纳人数int4点单临时信息表因为客人的需求经常变化,点单以后常会改动,所以构建了一个点单临时表,用来存储客人的点单信息。点单临时表的结构如表4-4所示。表4-4 点单临时表的结构字段名数据类型长度房台编号varchar10房台类别varchar10商品编号varchar10商品名称varchar50单位varchar10数量numeric9单价money8金额money8点单日期datetime8结账日期datetime8服务员编号varchar10服务员姓名varchar12状态varchar10单据号varchar30是否结账varchar4备注varchar50商品基础信息表为了了解每一种商品的基本特征性和详细信息,构建了一个用来存放商品信息的商品基础信息表。在用户进行进货登记时,商品基础信息表以辅助输入的形式显示,用户只需选中相应的信息即可把商品信息插入到进货统计中,方便、省时、省力。商品基础信息表的结构如表4-5所示。表4-5 商品基础信息表的结构字段名数据类型长度商品级别varchar4本级编号varchar6商品编号varchar20本级名称varchar20本级简称varchar10商品全称varchar50单位varchar10单价money8商品说明varchar30供应商varchar20联系地址varchar30联系电话varchar15联系人varchar124.3 数据库结构的实现经过之前的分析和概念结构设计,得到数据库的逻辑结构。然后,创建数据库。运行SQL Server 2000,选择菜单文件-新建,新建一个数据库文件,命名为CYGLXT。5 餐饮企业管理系统实现完成前面的工作,下面就是具体地来实现本管理系统。本章将从公共模块、系统登入模块、开台管理模块、进货管理模块等方面介绍餐饮企业管理系统功能的具体实现方法。 5.1 公共模块设计为了节省系统资源,在系统中新建一个module1模块来存放整个工程项目中共用的函数、过程、全局变量等。整个工程中的任何地方都可以调用此模块中的函数、过程、变量。这样就实现代码的复用,减少代码的书写量以及维护的工作量。公用变量声明:系统中有多处要用到字符串、记录ADO的指针等的变量,其声明如下:Option Explicit 限制变量必须先声明后使用Public cn As ADODB.Connection 定义公用ADO连接变量Public Sql, sqlStr As String 定义公用字符串变量Public Bkm, FormNumber As Integer 用于记录ADO指针位置的整形变量Dim myform As Form 定义窗体类型变量5.1.1 数据库连接在餐饮管理系统中频繁地使用了数据库连接,因此需要一个公共的数据库连接函数,用以数据库连接。代码如下:Public Function cnn() As String 定义函数 返回一个数据库连接 cnn = Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=CYGLXT;Initial Catalog=CYGLXT 定义一个数据连接End Function此过程定义了一个通过通用接口ODBC连接数据库,通过通用接口连接数据库时需要先创建一个新的ODBC数据源CYGLXT。系统中多处使用ADO控件动态地连接数据库,而ADO的数据库连接又比较麻烦,所以构造了一个用于ADO控件连接数据库的函数。Public Function FunAdo(ByVal ado As Adodc, ByVal Str As String) 构造连接ADO的连接执行函数On Error GoTo err1 执行过程中如果发生错误转向错误处理 With ado .Visible = False .ConnectionString = cn.ConnectionString 设置Ado的连接字符串 .CommandType = adCmdText 设置Ado的命令类型 .RecordSource = Str 设置Ado的记录源 .Refresh 刷新Ado的记录集 End With Exit Function err1: ErrMessageBox 与数据库连接失败! 显示错误信息End Function5.1.2 错误信息显示函数处理程序中错误时经常要提示错误信息,为了减少代码的书写量以及维护的工作量,更好的实现代码重用,编写错误处理函数,代码如下:Public Sub ErrMessageBox(ByVal sPrompt As String) Dim msg As String 变量msg用于记录要在弹出对话框中显示的信息 Dim ErrMsg As String ErrMsg记录错误信息代码以及描述 ErrMsg = 错误# & CStr(Err.Number) & : & Err.Description 错误信息代码以及描述 msg = sPrompt & vbCrLf & ErrMsg 弹出对话框中显示的错误信息 MsgBox msg, vbOKOnly + vbInformation 显示弹出对话框End Sub5.2 主窗体的创建餐饮管理系统的主界面主要由菜单栏、工具栏、状态栏和部分空间组成。位于窗体顶端的菜单栏主要用来连接实现系统功能对应的窗体;菜单栏下面的工具栏主要用来连接常用的系统功能窗体;位于窗体底部的状态栏主要用来显示系统当前状态信息。窗体运行界面如图5-1所示。图5-1 主窗体运行图工具栏是Windows窗口的组成部分,它为用户提供了应用程序中最常用的菜单命令的快速访问方式,大多数工具栏都是通过Toolbar控件实现的。在利用Toolbar控件创建工具栏时,还需要使用ImageList控件为工具栏按钮添加图标。除了工具栏,界面还用到菜单、状态栏控件StatuBar控件、TextBox控件和Timer控件。各控件的属性设置值如表5-1所示。表5-1 主窗体主要空间属性对象属性值功能Adodc名称Visible AdoMemoFalse连接数据库TextBox名称VisibleText1False记录打开的窗体Timer名称IntervalTimer1100执行显示系统时间的过程关键代码的设计与实现:餐饮管理系统主窗体的功能主要是为用户提供进入其他窗体的接口。从主窗体进入其他窗体时通过菜单栏实现的,菜单栏主要是为其他窗体提供入口。如打开“开台管理”窗体的实现过程如下:Private Sub ktgl_Click() 调入开台管理 Load main_qtgl_ktgl 载入开台管理窗体 main_qtgl_ktgl.Show 显示开台管理窗体 frm_main.Enabled = False 设置主窗体不可用主界面载入以后可以在状态栏中显示当前系统的日期和时间,系统时间是通过Timer控件的Timer事件来显示的。实现过程如下:Private Sub Timer1_Timer() 设置时间 St1.Panels(1).text = Format(Date, long date) & & Time 使用Format函数将系统当前日期格式为长日期格式,Date返回系统当前日期,Time返回系统当前时间 End Sub5.3 系统登入模块的实现在“员工”文本框中输入用户名,“密码”文本框中输入密码,单击“确定”按钮,触发click事件,若用户名和密码都正确,即可进入系统主界面。若用户没有输入用户名,密码,或密码错误,系统都将给出错误提示信息,三次输入密码错误,自动退出系统。系统登录界面如图5-2所示:图5-2 登录窗体运行效果窗体涉及到的控件及其属性设置如表5-2所述。表5-2 登入窗体中主要控件的属性对象属性值功能Adodc名称VisbleAdodc1False连接数据库ComboBox名称BackColorCzy&H00C0FFFF&显示可以操作系统员工的名称TextBox名称TextTexttime空值记录登入次数名称PasswordCharText1*输入登录密码CommandButton名称CaptionLabLogin确定登录系统名称CaptionLabExit退出退出系统Label名称BackStyleLabel0显示提示信息选择员工名,输入密码信息是否正确进入系统主界面登录次数为3登录次数加1登录退出系统如果员工的登录信息正确,根据员工的权限赋予员工权限。登录流程图如5-3下: NO YES NO YES 图5-3 登录流程图实现员工登录的代码如下: Textime.text = TIM Sql = select * from 权限信息表 where 操作员姓名 = + Trim(czy.text) + 查询记录集 Call FunAdo(Adodc1, Sql) 调用ADO的执行函数 Adodc1.Refresh 刷新ADO的记录集 If Adodc1.Recordset.RecordCount = 0 Then MsgBox (您还没有设置操作员密码和权限,请设置员工密码和权限!) 显示错误信息 Me.Show 显示本窗体 TIM = TIM + 1 错误登录次数加1 If TIM = 2 Then 如果登录次数等于3 MESSAGE = MsgBox(密码输入错误,请向系统管理员查询!, 0, ) 提示错误 If MESSAGE = vbOK Then End 结束程序 End If Exit Sub End If 判断操作员及密码 If czy.text And Text1.text = Trim(Adodc1.Recordset.Fields(密码) Then 如果密码正确 Load frm_main 载入主窗体 frm_main.Show 显示主窗体 设置操作员权限 If Trim(Adodc1.Recordset.Fields(权限) = A Then 如果用户的权限为A frm_main.qtgl.Enabled = True 前台管理菜单可用5.4 开台管理模块的实现在主窗体中选择“前台管理”/“开台管理”命令,将进入开台管理模块。在开台管理模块中主要实现如下功能:(1)查看空闲房台、营业房台、维修房台信息。(2)以列表形式显示营业房台和已定菜谱信息。(3)汇总当前空闲、营业、维修房台数量。开台管理运行界面如图5-4 所示。图5-4 开台管理运行界面关键代码设计与实现:在系统主界面中单击工具栏中的“开台管理”按钮,或者在菜单栏中选择“前台管理/开台管理”命令打开开台管理窗体。系统载入开台管理窗体时,首先初始化当前房台信息。实现的代码如下: For a = 0 To 7 设置房台信息初始值 Label4(a).Caption = 房台信息初始值为空 Next a Call list_change 调用房台列表函数 i = SSTab1.Tab If ListView1(i).ListItems.Count 0 Then 如果ListView控件中的列表不为空Sql = select * from 房间台号信息表 where 房间台号信息表.状态= + Left(SSTab1.Caption, 2) + & _ and 房间台号信息表.部门= + Combo1.text + order by 编号 查询房台信息 Call FunAdo(Adodc1, Sql) 调用ADO控件的执行函数 Adodc1.Refresh 刷新ADO控件的记录集 For a = 0 To 7 显示房台信息 If Adodc1.Recordset.RecordCount 0 Then 如果Adodc1的记录集不为空 Label4(a).Caption = Trim(Adodc1.Recordset.Fields(a) 显示房台信息 End If Next a End If Me.Caption = Me.Caption & & frm_main.St1.Panels(3).text 显示窗体的标题 打开部门信息表 rs1.Open select 部门名称 from 部门信息表 order by 部门编号, cnn, adOpenKeyset, adLockOptimistic 添加部门信息 If rs1.BOF = False Then rs1.MoveFirst 如果记录集指针不在首部,指针移动到第一条记录 For i = 0 To rs1.RecordCount - 1 向列表框中添加部门名称 Combo1.AddItem (Trim(rs1.Fields(部门名称) 添加列表项 rs1.MoveNext 记录集移向下一条记录 Next i If Combo1.ListCount 0 Then Combo1.ListIndex = 0 设置Combo1的索引值 rs1.Close 关闭数据集对象 SSTab1.Tab = 0为了便于添加房台信息,建立了定义房间列表函数list_change()。函数的定义如下:Public Sub list_change() 定义房台列表函数 i = SSTab1.Tab 把当前选项卡的值赋给变量i Sql = select * from 房间台号信息表 where 状态= + Left(SSTab1.Caption, 2) + & _ and 房间台号信息表.部门= + Combo1.text + and 房间台号信息表.房台名称 like & _ + Text1.text + +%order by 编号 查询符合条件的房台信息 Call FunAdo(Adodc1, Sql) 调用ADO的执行函数 Adodc1.Refresh 刷新Adodc1的记录集 If Adodc1.Recordset.RecordCount 0 Then 如果Adodc1的记录集不为空 ListView1(i).ListItems.Clear 清空ListView中的列表项 Adodc1.Recordset.MoveFirst Adodc1的记录指针移到第一条记录 Do While Adodc1.Recordset.EOF = False 如果不是记录集的尾部循环 key = ( & Trim(Adodc1.Recordset.Fields(编号) & ) _ & Trim(Adodc1.Recordset.Fields(房台名称) 记录房台编号和房台名称 If i = 1 Then 如果是营业房台 Set itmX = ListView1(i).ListItems.Add(, , key, 2) 添加房台到ListView控件中 Else 如果不是营业房台 Set itmX = ListView1(i).ListItems.Add(, , key, 1) 添加房台到ListView控件中 End If Adodc1.Recordset.MoveNext Adodc1的记录集指针移到下一条记录 Loop 返回到DoWhile,继续循环 Else 不过Adodc1的记录集为空 ListView1(i).ListItems.Clear 清空ListView中的列表项 End If Label2(i).Caption = Left(SSTab1.Caption, 2) & 总数: _ & Adodc1.Recordset.RecordCount & 个 显示房台数目End Sub选择部门,选择部门以后可以改变房台信息,以及当前的房台信息。代码如下:Private Sub Combo1_Click() 选择部门 Call list_change 调用房台列表函数 i = SSTab1.Tab 把SSTab1的选项卡值赋给变量i If ListView1(i).ListItems.Count = 0 Then 如果当前ListView控件的列表项为空 For a = 0 To 7 清空当前房态信息 Label4(a).Caption = 设置但前房态信息为空 Next a End If End Sub选中空闲房台列表中的一个房台,单击“开台服务”按钮,执行开台服务操作。代码如下:Private Sub Comkt_Click() 调入开台服务 If Label4(0).Caption = Or Label4(1).Caption = Then 如果没有选中房台 MsgBox (请选择房间!) 提示选择房台 Else 否则,如果选中了一个房台 If Label4(6).Caption = 营业 Or Label4(6).Caption = 维修 Then 如果选中的不是空闲房台 MsgBox (对不起,您选择的房间正在 & Label4(6).Caption & ,请重新选择!) 提示选择错误 Else 否则,如果选中的是空闲房台 Load main_dialog_ygxx 载入员工信息窗口 main_dialog_ygxx.Show 显示员工信息窗口 frm_main.Enabled = False 主窗体不可用 main_qtgl_ktgl.Enabled = False 开台管理窗体不可用 End If End If ListView1(0).Refresh 刷新ListView(0)控件列表 ListView1(1).Refresh 刷新ListView(1)控件列表 ListView1(2).Refresh 刷新ListView(2)控件列表End Sub5.5 进货管理模块的实现在主窗体选择“后台管理/进货管理”命令,将进入进货管理模块。该模块主要实现如下功能:(1)录入商品名称,输入数量,计算商品金额。(2)自动生成进货票号、进货日期。(3)输入供应商信息。(4)统计进货品种、进货数量、进货金额。(5)打印进货票据。进货管理运行效果如图5-5所示。图5-5 进货管理窗体运行效果关键代码及实现:在系统主界面的菜单栏中选择“后台管理/进货管理”命令,打开进货管理界面,在其中可以实现进货管理的工作。在输入进货信息时,可利用方向键控制焦点的位置。实现这些功能的过程如下:Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) 添加货物信息 If KeyCode = vbKeyReturn Then 如果输入的是回车键 grid1.Visible = False 辅助输入项不可见 If MS1.Col = 1 Then 如果是第一列 With语句用来在一个单一对象或一个用户定义类型上执行一系列的语句。 With Adodc2.Recordset If .RecordCount 0 Then 如果记录集不为空 赋值给ms1表格 If .Fields(本级名称) Then MS1.TextMatrix(MS1.Row, 1) = _ Trim(.Fields(本级名称) 显示数据库中的数据 If .Fields(商品编号) Then MS1.TextMatrix(MS1.Row, 2) = _ Trim(.Fields(商品编号) 显示数据库中的数据 If .Fields(单位) Then MS1.TextMatrix(MS1.Row, 3) = _ Trim(.Fields(单位) 显示数据库中的数据 If .Fields(单价) Then MS1.TextMatrix(MS1.Row, 4) = _ .Fields(单价) 显示数据库中的数据 text1.SetFocus 设置文本框Text1获得焦点 text1.text = MS1.text 设置Text1中显示MS1中的信息 grid1.Visible = False 辅助列表项不可见 MS1.Col = 4 MS1的焦点移到第四列 End If 结束If语句 End With 结束With语句块 End If 结束If语句 If MS1.Col = 7 Then 如果是第7列 MS1.Row = MS1.Row + 1 焦点移到下一行 MS1.Col = 1 焦点移到第一列 Else 如果不是最后一行 If MS1.Col + 1 = MS1.Cols - 1 Then 如果不是最后一列 MS1.Col = MS1.Col + 1 焦点移到下一列 Else 如果是最后一列 If MS1.Row + 1 1 Then MS1.Row = MS1.Row - 1 焦点移到上一行 End If If KeyCode = vbKeyDown Then 如果输入的是向下的方向键 If MS1.Row 99 Then MS1.Row = MS1.Row + 1 焦点移到下一行 End If If KeyCode = vbKeyLeft Then 如果输入的是向左的方向键 If text1.text Then 如过文本框Text1的内容不为空 text1.SelStart = 0 设置文本框的起始点 text1.SelLength = Len(text1.text) 设置所选择的字符数 End If If MS1.Col - 7 = MS1.Cols + 1 Then 如果焦点位置是中间的列 MS1.Col = MS1.Col - 1 焦点向左移动一列 If MS1.Col = 0 Then MS1.C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论