免费预览已结束,剩余32页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宾馆客房管理系统摘要在现代的宾馆等服务行业中,由于客流量巨增,传统的管理方法已经不能满足现代社会的需要,在运营中需要对客房资源、顾客信息、结算信息进行管理。通过这套软件,无论各种等级的宾馆,都可轻松进行管理,都具有非常实用的价值,宾馆客房管理系统的开发无疑具有深远得意义。我对此课题很感兴趣,加上对visual basic已经有了相当的了解,故选择了此项目作为毕业设计。宾馆客房管理系统提供客房科学、规范的现代管理模式,使宾馆客房管理跨上一个的台阶,以高效率计算机管理方式引导宾馆行业的发展,为宾馆带来直接的经济效益,提高宾馆服务水准,改善宾馆客房的形象。通过设计本系统巩固大学所学专业知识,使自己对vb、access有更深入、全面的了解,宾馆客房管理系统提供宾馆客房科学、规范的现代管理模式,使宾馆客房管理跨上一个新的台阶,一个先进的管理手段即高效率计算机管理方式引导宾馆行业的发展,不仅能为宾馆带来巨大的直接经济效益,而且还能提高宾馆服务水准和员工工作效率,使宾馆客房管理进入一个新层次,提高服务质量,改善宾馆客房的形象。关键词 visual basic编程技术; access数据库开发技术 ;ado数据库访问技术随着面向对象和activex等技术的综合运用,microsoft公司已将visual basic发展成当前基于windows平台上最方便快捷的软件开发工具。而microsoft access是公司开发的在windows平台上最流行的、功能强大的桌面数据库管理系统。本论文将以一个宾馆客房管理系统为例子,来实践如何较为系统的运用visual basic编程技术和access数据库管理技术进行数据库项目开发。详尽介绍了使用visual basic开发access数据库应用系统所必备的管理和开发技术。- i -目 录第一章 概述21.1编写目的21.2 研究手段2第二章 数据库及相关介绍32.1表设计概述32.2 字段定义32.3 创建表49.1创建工程109.3设计主窗体1110.3设计客人信息管理窗体1611.2数据库管理2111.2.1关系型数据库概念2211.3 创建数据库2211.3.1数据库的打开和关闭、删除数据库2311.4 字段定义2311.5 创建表2411.6工程的概念2511.7 过程和函数2511.7.1自定义过程2511.7.2函数过程2611.8 function函数过程的建立2611.9事件过程2611.10 模块的概念2611.10.1窗体模块2711.10.2标准模块2711.11访问数据库类型2811.12使用ado访问数据库2911.12.1 ado简介2911.12.2 ado层次模型2911.12.3 ado编程模型3011.12.4 添加ado30第十二章 结论30主要参考文献34致 谢34 - iii -引言随着改革开放的加快,我国人民生活水平显著提高,伴随着我国旅游业的高速发展,宾馆行业的服务档次迫切需要提高。在宾馆行业竞争激烈的今天,要成为佼佼者,就必须与高新技术紧密结合。传统的纯手工或简单的计算工具,已经不适应现代经济高速发展的要求,必须运用现代化管理手段,配备完善的自动化设备,提高客房的服务水平与质量,从而赢得高信誉,强实力,好效益!宾馆客房管理系统提供宾馆客房科学、规范的现代管理模式,使宾馆客房管理跨上一个新的台阶,一个先进的管理手段即高效率计算机管理方式引导宾馆行业的发展,不仅能为宾馆带来巨大的直接经济效益,而且还能提高宾馆服务水准和员工工作效率,使宾馆客房管理进入一个新层次,提高服务质量,改善宾馆客房的形象。宾馆客房管理系统提供宾馆客房科学、规范的现代管理模式,使宾馆客房管理跨上一个新的台阶,一个先进的管理手段即高效率计算机管理方式引导宾馆行业的发展,不仅能为宾馆带来巨大的直接经济效益,而且还能提高宾馆服务水准和员工工作效率,使宾馆客房管理进入一个新层次,提高服务质量,改善宾馆客房的形象。随着面向对象和activex等技术的综合运用,microsoft公司已将visual basic发展成当前基于windows平台上最方便快捷的软件开发工具。而microsoft access是公司开发的在windows平台上最流行的、功能强大的桌面数据库管理系统。本论文将以一个宾馆客房管理系统为例子,来实践如何较为系统的运用visual basic编程技术和access数据库管理技术进行数据库项目开发。详尽介绍了使用visual basic开发access数据库应用系统所必备的管理和开发技术。宾馆客房管理系统会给宾馆管理带来很多优点如:功能强大,可靠性高;操作简单,响应快;界面丰富,明了清晰 ;报表统计,准确交全。各类报表准确、全面的显示营业收入、客源情况、帐务数据、房态信息,为经营管理提供了可靠数据资料。数据维护,快速高效;多层次,多方位的维护实用程序,使系统在运行过程中出现的数据失误能及时恢复。更新用户界面,操作方便、直观、友好、便于系统功能扩充。一个成功的宾馆客房管理系统,对宾馆客房本身而言,不仅可以提供多种服务功能,而且能使宾馆客房管理可规范,工作效率高,帐目差错少,更重要的是宾馆也树立了良好的形象,例如:快速实现住客入住登记和帐务处理,减少客人住店及离店时的等待时间。准确的实现客人预定入住的要求,实现有效及有保障的前台操作系统作业。快速响应住客的有关项目查询要求。提供清晰,准确的各类明细报帐,给客人留下良好的管理印象,方便快速操作,增加营业收入。宾馆客房管理系统在现在的宾馆等服务行业中,由于客流量巨增,传统的管理方法已经不适应现代社会的需要。宾馆在正常运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理系统及时了解各个环节中信息的变更,有利于提高管理的效率,因此宾馆管理系统是各大中小型宾馆,所需使用的一个管理系统。第一章 概述1.1编写目的在现代的宾馆等服务行业中,由于客流量巨增,传统的管理方法已经不能满足现代社会的需要,在运营中需要对客房资源、顾客信息、结算信息进行管理。通过这套软件,无论各种等级的宾馆,都可轻松进行管理,都具有非常实用的价值,宾馆客房管理系统的开发无疑具有深远得意义。我对此课题很感兴趣,加上对visual basic已经有了相当的了解,故选择了此项目作为毕业设计。宾馆客房管理系统提供客房科学、规范的现代管理模式,使宾馆客房管理跨上一个的台阶,以高效率计算机管理方式引导宾馆行业的发展,为宾馆带来直接的经济效益,提高宾馆服务水准,改善宾馆客房的形象。通过设计本系统巩固大学所学专业知识,使自己对vb和access有更深入、全面的了解,1.2 研究手段本课题将采用vb与access相结合的技术实现宾馆客房管理系统。vb是一种可视化编程工具,指的是一种开发图形用户界面的方法。vb编程用向对象,事件驱动的编程机制,通过把复杂的windows编程封装起来,提供一种所见即得的可视界面方法,迅速成为许多程序手选的编程工具。 access是一个非常优秀的关系数据库管理系统,在关系型数据库中,数据元素是最基本的数据单元,可以将若干个数据单元组成数据元组,若干个数据元组组成数据表,而所有相互关联的数据表则可以组成一个数据库,这样的数据库集合即被称为基于关系模型的数据库系统,设计access关系数据库,首先应根据用户需求对数据库管理系统进行分析和研究,全面规划,再根据数据库的设计规范创建数据库,数据库的设计一般包含以下步骤:确定创建数据库所要完成的内容;确定创建数据库所需要的表;确定表中所需要的字段;唯一值的主关键字段;确定表之间的关系;优化设计,输入数据并创建其他对象。第二章 数据库及相关介绍2.1表设计概述数据库结构设计是整个应用系统的基础,就如建筑设计图纸。当数据库所存储的信息逻辑关系简单、数据记录量不大时,数据库的结构设计相对容易,编辑修改也方便;而当数据库数据内容庞大、关系复杂且在使用中发现问题时,再进行修改,就有可能造成数据丢失。所以在设计前应该进行需求分析,了解操作流程,精心构思。设计一个比较好的数据库及基本表的一般步骤如下。 确立建立数据库的目的。即用数据库做哪些数据的管理,有哪些需求和功能。 确定所需要的数据表。在明确了建立数据库的目的之后,就可以着手将信息分成各个独立的主题,每一个主题都可以是数据库中一个表,并且要求表中的字段信息能完整的描述某一记录。 确定所需的字段。确定在某些表中要保存哪些信息。在表中,每一信息称作一个字段,在表中显示为一列。要保证记录的唯一性,就必须尽量为每个数据表建立主关键字。主关键字由一个或多个字段组成。数据表中的非主关键字段应完全依赖主关键字,并且当主关键字是由多个字段组合而成时,主关键字应依赖于其中的每一个组成字段。 确定关系。分析每个表,确定表中的数据和其他表中的数据有和何关系。必要时,可在表中加入字段或创建一个新表来明确关系。 改进设计。对设计进一步分析,查找其中的缺陷,完善数据库。 2.2 字段定义access数据库有着关系型数据库的共性,数据表中的每一条记录都包含许多字段,分别存储着关于每个记录的不同类型的信息,字段的定义是数据库相当重要的工作。字段的定义:包括字段名、数据类型、宽度、字段的功能设置和说明等 字段采取什么数据类型取决于以下几个方面。 字段中可以使用什么类型的值。 需要用多少存储空间来保存字段的值。 是否需要对数据进行计算以及需要对数据进行何种计算。 是否需要排序和索引字段。备注型、超级链接型及ole对象型字段均不能使用排序和索引。 是否对字段中的值进行排序 是否需要在查询中或报表中对记录进行分组。 自动编号是一种特殊的整型类型,一般设置为主键。一个表中只能有一个字段的数据类型是自动编号型的。 超级链接型的字段可以保存超级链接地址。 查询字段可以使用“列表框”或“组合框”从另一个表或列表中选择一个值。 2.3 创建表创建表一般有3个办法:一是使用设计器创建表,二是使用向导创建表三是通过输入数据创建表。使用设计器创建表是相对灵活的方法,需要对字段类型及字段属性有清楚的了解,有一定难度,但是可以完成表的所有功能;使用向导创建表对于用户来说很方便,符合用户的操作习惯,但是创建好的表不一定符合自己的实际情况,这时可以通过表设计器来完成善;通过输入数据创建表是较直接的方法,一般也需要表设计器进行修改完善。第三章 系统功能分析系统开发的总体任务是实现宾馆各种信息的系统化,规范化和自动化管理,减少工作量,提高效率,增强可靠性系统功能分析是在系统开发设计的总体任务的基础上完成,本实例中的宾馆客房管理系统需要完成的功能主要有: 1、客房信息管理:包括房间编号、房间级别、房间类型、房间价格(元)、是否住人等信息的输入、删除、修改等。 2、客人信息管理:包括客人姓名、登记号、身份证号、房间号、登记日期的输入、删除、修改等。 3、退房信息管理:包括客人的退房日期、付款金额的输入、修改、删除等。 4、客房信息查询:包括查询房间编号、房间级别、房间类型、房间价格(元)、是否住人等信息。 5、收费信息查询:包括查询收费日期、付款金额。 6、效益信息查询:包括查询某一段时间内的营业情况,可输入日期时间等信息查询。 7、房间情况报表的打印:包括旅客入住情况和房间基本情况的报表可打印。其中旅客入住包括登记号、身份证号、房间号、登记时间。房间基本情况包括房间编号、房间级别、房间类型、房间价格、是否住人等信息。 8、系统维护:主要是为了方便用户进行修改用户密码、重新登陆、退出系统等操作。第四章 系统功能模块设计 按结构化程序设计思想,分析得出如下系统功能模块图宾馆客房管理系统系统管理用户管理重新登陆退出系统客房信息管理客房信息入住情况退房信息客放信息查询客放信息查询收费信息查询效益信息查询报表输出房间情况表收费情况表 第五章 主要技术及应用开发工具visual basic编程技术,access数据库开发技术,ado数据库访问技术visual basic 6.0中文版开发工具,access 2000数据库开发工具第六章 数据库需求分析用户的需求具体体现在各种信息的提供、保存、修改、查询等方面,经调查和分析,针对一般宾馆客房管理系统的需求和对系统流程图的分析,设计成如下的逻辑结构。cancel表:登记号、退房日期,付款数额。guest 表:登记号、用户姓名、身份证号、房间号,登记日期。room表:房间号、房间等级、房间类型、房间价格、房间状态(是否入住)users 表:用户帐号、用户密码。6.1数据库逻辑结构设计创建一个新的数据库,命名为“hotel.mdb”,保存在要存放这个系统的所在工程文件的文件夹中。本例包含以下四个表:退房情况表cancel、客人情况表guest、房间情况表room、用户帐号和密码表users.1 )退房情况表cancel,用来保存与退房的相关信息。字段名称数据类型说明book no文本登记号cancel date日期/时间退房日期pay money数字付款数额表6.1(1)退房情况2 )客人情况表guest,用来存储与客人的相关信息。字段名称数据类型说明book no文本房间号guest name文本客人姓名card id文本身份证号room no文本房间号book date日期/时间登记日期 表6.1(2)客人情况 3 )房间情况表room,用来存储房间信息字段名称数据类型说明room no文本房间号room grade是/否是否标准间room type是/否是否套间room rate数字房间价格room status是/否是否有人住表6.1(3)房间情况4 )用户帐号和密码表users,用来保存用户的帐号和密码。字段名称数据类型说明name文本用户帐号password文本用户密码第七章 系统流程图在了解了系统各个功能模块之后,我们还要对系统的流程有一个整体的认识。所谓系统流程,就是用户在使用系统时的工作过程。系统的工作流程都是从用户登陆模块开始,对用户身份进行权限验证,进而对系统进行管理的。开 始用户登陆进入主界面登陆不超3次退出登陆yesno系统功能信息管理信息查询报表输出窗口设置帮助信息第八章 设计视图及介绍针对一般宾馆管理信息系统的需求,通过对宾馆管理过程的内容和流程分析,设计如下面所示的数据项和数据结构:8.1客房信息查询“客房标准信息查询”主要是完成房间编号、房间级别、房间类型、房间价格、是否住人等信息的查询。“客房信息查询”窗体包括6个option控件,2个frame控件,1个label控件,1个texbox控件,1个datagrid控件。图8.18.2 收费信息查询“收费信息查询”窗体主要对收费日期,付款金额的信息查询.”收费信息查询”窗体中只有1个控件。 图8.28.3 效益信息查询 “效益信息查询”窗体主要是对某一段时间的营业情况的信息查询.”效益信息查询”窗体中有2个dtpicker控件,1个label控件,1个textbox控件,1个datagrid控件,1个cammandbutton控件,1个combobox控件,在此窗体中,有1个textbox控件被dtpicker控件覆盖.第九章 宾馆管理信息系统具体程序实现9.1创建工程 运行后,选择“文件”“新建工程”菜单,然后从“工程”模板中选择“标准exe”项,单击“确定”按钮,visual basic 就会自动生成一个窗体。这个窗体我们在后面将作为“登录”窗体,先设置该窗体name为“frmlogin”,caption为“登录”。保存工程,在出现的“文件另存为”对话框中输入这个工程项目的名称hotel,选择要存放的目录,单击“保存”按钮,保存工程。9.2创建公用模块 module1.bas在visual basic中我们用公共模块来存放整个工程项目公用的函数、全局变量,这样有利于提高代码的效率和增强可靠性。选择“工程”菜单中的“添加模块”,为项目添加一个module,保存为“mdlcommon.bas”。在这个系统中,每个模块都要使用数据库,因此使用一个公用的函数,来执行一一系列的语句。双击“mdicommon.bas”打开公共模块,添加如下公共模块代码。知识要点:在系统中,每个模块都要使用数据库。通过open table函数,用户就不需要在每次数据库操作中都重复输入数据库的连接、取结果和数据库的关闭等类似操作的代码,做到了程序的模块化。这样,后面所有要用到的添加、删除、查询和修改等操作都可以通过调用该函数来完成,得到相应的结果。具体代码如下:public sub opentable(pado as adodc, precordsource as string) 打开一个表,得到一个数据集 with pado .connectionstring = provider=microsoft.jet.oledb.4.0;data source= _ & app.path _ & hotel.mdb;persist security info=false .commandtype = adcmdunknown .recordsource = precordsource .refresh end withend sub9.3设计主窗体 在这个工程中,我们选择多文挡界面。mdi的好处是可以更加方便的管理程序,且占用较少的系统资源。选择“工程”“添加mdi窗体”菜单,单击“打开”按钮就为工程添加了一个mdi窗体。设计mdi窗体的属性为“frmmdi”,caption属性为“宾馆客房管理系统”;startupposition属性为“2-屏幕中心”。然后在添加好的窗体中,单击鼠标右键,从弹出的菜单中选择“菜单编辑器”项。这时会弹出“菜单编辑器”对话框。菜单的编辑结构如下:菜单名称 属 性系统功能(&s)mnusystem-用户管理(&u)mnuuser-重新登陆(&z)denglu2-退出系统(&x)mnuexit基本信息管理(&i)mnuinfo-客房信息(&r)mnuroominfo-入住情况(&g)mnuguest-退房记录(&c)mnucancel信息查询(&q)mnuqueryselect-客房信息查询kefangxinxi-收费信息查询shoufeixinxi-效益信息查询xiaoyixinxis报表输出(&r)mnureport-房间情况表(&r)mnureportroom-收费情况表(&r)sfqkb窗口布局(&w)mnuwindow-水平平铺(&h)mnuhor-垂直平铺(&v)mnuver-层叠(&c)mnucasade-排列图标(&i)mnuicon帮助信息(&h)mnuhelp-内容(&c)mnuconten-关于(&a)mnuabout完成菜单设计后,在主窗体中添加4个adodc控件,以便后面对数据库的一系列操作.可以说,显示一个数据库,最方便的莫过于adodc和datagrid控件的相结合使用.因为初始”工具箱”中没有adodc控件,所以需要我们另外添加该控件.具体添加方法如下: 在”工具箱”单击鼠标右件,出现一个弹出式菜单. 在弹出式菜单中单击”部件”选项,即出现可增加的控件列表. 在”部件”对话框中列出了微软公司的一些控件类型,选择其中相应的选项即可,其中包括”microsoft ado data control 6.0”控件和”microsoft datagrid control”控件,确定后可以发现控件已经加入到”工具箱”中,可以作为制作窗体的工具了.添加完4个adodc控件,可得到完整的主窗体,界面中的4个adodc控件的visible属性值为”false”,目的是隐藏这些控件,不让用户看到,美化界面.具体的属性如表:控件名称控件属性属性值adodcnameadoroomcaptionadoroomvisiblefalse adodcnameadoguestcaptionadoguestvisiblefalseadodcnameadocancelcaptionadocancelvisiblefalseadodcnameadoquerycaptionadoqueryvisiblefalse主界面控件属性表现在,主窗体已经设计好了,选择“文件”中的“保存”frmmdi.frm”菜单,保存该主窗体。下面对其中的代码进行主要分析。进入主窗体时还必须进行初始化操作,初始化工作主要是完成各个adodc控件和其对应的表的连接。图9.3第十章 各模块视图10.1用户登陆窗口用户要使用本系统,首先必须通过系统的身份认证,登录过程主要就是根据用户和密码来判断用户是否可以进入系统。打开新建工程时系统自动生成的第一个窗体,前面我们已经命名为frmlogin.frm,我们将它作为登录窗体。在这个窗体中添加2个(lable)控件,用来标识窗体中的信息;2个文本框(textmox)控件,用来输入用户和密码;2个按钮(commandbutton)控件,用来确定或取消登录,1个adodc控件,用它来完成和users表的连接。(1)初始化过程form-load() 窗体初始化时打开用户表。 (2)cmdok-click过程(3)mdcancel-click过程(4)单击“取消“,系统不进行验证,自动退出系统。option explicit在进行“登录“窗体设计时,必须注意查询语句的格式。为了防止他人冒充,必须记录用户登录错误的登录次数,当达到3次时,强制退出。图10.110.2添加客房信息客房信息管理模块主要是完成房间编号、房间级别、房间类型、房间价格、是否住人等信息的输入、修改和删除等等。“客房信息”窗体包括4个commandbutton控件,1个datagrid控件,1个frame控件。窗体中控件属性如表所示窗提设置好后,我们将其保存为“frmroominfo.frm”.控件或窗体属性属性取值formnamefrmroominfocaption客放信息datagridnamedtgroominfocaption为空famenameframe1caption3commandnamecmdaddnewcaption添加commandnamecmdeditcaption修改commandnamecmddeletecaption删除commandnamecmdexitcaption退出客房信息控件属性表 图10.21 drgroomrefresh函数 每次进入“客房信息”窗体,都必须更新dtgroominfo中的内容,以显示数据库和实时更新信息的改动。2 cmdaddnew-click过程 当用户单击“添加”按钮时,调用cmdnnew-click过程。 3 cmddelete-click过程 当用户单击“删除”按钮,将触发cmddelete-click过程。4cmdedit-click过程 当用户单击“修改”按钮时,将触发cmdedit-click事件。5 cmdexit-click过程6 窗体的初始化form-load() 登录该窗体时要对该窗体进行初始化,初始化窗体主要任务就是更新dtgroominfo中的内容即调用dtgroomrefresh函数。10.3设计客人信息管理窗体 客人信息管理主要完成客人姓名、身份证号、房间号、入住日期的输入、修改和删除等工作“客人信息”窗体中的控件和“客房信息”管理窗体中的控件相同,唯一不同的是窗体caption、name、和datagrid控件中的对应属性不同。在这里属性的取值分别为:“客人信息“frmguestinfo”10.4查询客房信息图10.410.5查询剩余客房信息图10.510.6添加订房信息图10.610.7添加退房信息图10.710.8报表输出“数据报表设计器”(data report designer)是visual basic 6.0的新增功能它的出现大大增强了visual basic处理数据的能力.它是一个极为灵活的报表设计工具,可以”数据环境数据器”作为数据源创建有层次的,汇总若干关系型数据表数据的复杂报表 下面以本例系统的报表为例,阐述如何使用”数据报表设计器”来设计一个数据报表.10.8.1房间基本情况表图.2旅客入住情况表图10.8.2择visual basic 6.0”project”菜单的“add data report”子菜单命令,为hotel工程加入“数据报表设计器”。将data report对象的name属性设置为“drproomrequired”,caption属性设置为“datareport1”。在报表标头处加入1label个控件,将它的caption属性设置为“房间基本情况表”。在报表叶标头出加入5个控件,分别将其caption属性设置为“房间号”、“房间级别”、“房间等级”、“房间价格”、“状态”。在报表细节处加入5个rpttexbox,将其name分别设置为“txtroomno”。在数据报表设计好以后,在主窗体模块中添加相应的代码就可以进行报表的打印了。10.9 关于本系统由于本系统数据访问用adodc控件,因此在运行调试前,需要添加micosoft adoo data concrol控件和microsoft datagrid control控件。具体方法:通过“工程“”部件“来添加。图10.9第十一章 数据库概述11.1数据库设计数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中占有非常重要的地位。数据库结构设计的好坏对应用系统的效率及实现产生直接影响,而且好的数据库结构也将有利于程序的实现。这里我们采用access2000作为后台数据库。11.2数据库管理数据库(database,简称db)是计算机内的有组织的、可共享的、相关数据的集合,即access存储数据的地方。从逻辑结构上看,数据库由表、查询、窗体、报表、宏等数据库对象组成,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性;从物理结构上看数据库以文件的形式保存在磁盘中,数据的存储独立于使用它的程序,并可为各种用户共享。数据库管理系统(database management system简称dbms)是为了科学组织和存储数据,高效的获取和维护数据而设计的数据管理软件。11.2.1关系型数据库概念关系型数据结构将一些复杂的数据结构归结为简单的二元关系,例如宾馆客房管理系统中的房间情况表就是一个二元关系如下图: 房间号是否标准间是否套间房间价格是否有人住110是是300有111否否150无 作为一个关系的二维表,可以看成是具有相同性质的记录的集合,它必须满足以下条件; 表中每一数据必须是基本数据项(即不可再分)。 表中每一列必须是具有相同的数据类型(例如,字符型或数值型)。 表中每一列的名字必须是唯一的。 表中不应该有内容完全相同的行。行的顺序和列的顺序不影响表格中的所表示的信息的含义。由关系型数据结构组成的数据系统被称为关系型数据库系统。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表上,通过对这些关系表的分类、合并、连接或选取的运算,来实现数据的管理。一个实际的应用问题,通过数据库的优化一般需要用多个关系来表示。概括的说,一个关系表示一个数据表,若干个数据表可以构成一个数据库系统。 11.3 创建数据库在access中建立一个数据库,只是建立一个包含数据库对象的“空”数据库,每个对象都没有内容,这需要在以后的操作中添加。直接创建一个可“空”的数据库可以按照以下步骤进行。 选择“文件”“新建”命令,弹出“新建文件”窗口,选择“新建”“空数据库”命令,弹出“文件新建数据库”对话框。 在弹出的“文件新建数据库”对话框的“文件名”下拉列表框中输入数据库文件名,单击“创建”按钮,弹出新建好的数据窗口。11.3.1数据库的打开和关闭、删除数据库 打开数据库要使用数据库,需要打开数据库。用户找到数据库存储位置,选择“打开”一个access应用程序中,只能有一个数据库在使用,打开一个数据库同时关刚刚使用的数据库。 数据库的关闭对象窗体或退出应用程序都可以关闭正在使用的数据库。 数据库的删除 一个数据库为一个文件,只要删除了数据库文件,该数据库也就被删除,因此要清楚数据库的所在位置和文件名。表是access数据库中最常用的数据库对象,在数据库结构设计时,应首先考虑数据库中表的组成与结构。11.4 字段定义 access数据库有着关系型数据库的共性,数据表中的每一条记录都包含许多字段,分别存储着关于每个记录的不同类型的信息,字段的定义是数据库相当重要的工作。字段的定义:包括字段名、数据类型、宽度、字段的功能设置和说明等 数据类型应 用 宽 度文本文本或数字0255个字符备注文本或数字064000个字符数字数值1、2、4或8b日期/时间数值8b货币数值8b自动编号添加新记录时会自动加14b是/否逻辑型1位ole对象ole对象最大1gb超级连接链接到其他对象或web地址最大64 000个字符查询列表值4b表 access数据类型字段采取什么数据类型取决于以下几个方面。 字段中可以使用什么类型的值。 需要用多少存储空间来保存字段的值。 是否需要对数据进行计算以及需要对数据进行何种计算。 是否需要排序和索引字段。备注型、超级链接型及ole对象型字段均不能使用排序和索引。 是否对字段中的值进行排序 是否需要在查询中或报表中对记录进行分组。 自动编号是一种特殊的整型类型,一般设置为主键。一个表中只能有一个字段的数据类型是自动编号型的。 超级链接型的字段可以保存超级链接地址。 查询字段可以使用“列表框”或“组合框”从另一个表或列表中选择一个值。11.5 创建表创建表一般有3个办法:一是使用设计器创建表,二是使用向导创建表三是通过输入数据创建表。使用设计器创建表是相对灵活的方法,需要对字段类型及字段属性有清楚的了解,有一定难度,但是可以完成表的所有功能;使用向导创建表对于用户来说很方便,符合用户的操作习惯,但是创建好的表不一定符合自己的实际情况,这时可以通过表设计器来完成善;通过输入数据创建表是较直接的方法,一般也需要表设计器进行修改完善。11.6工程的概念 visual basic是使用工程来管理程序代码和窗体的。在利用 visual basic开发软件的过程中,通常将所开发的 一个应用程序称为一个工程。实际上,一个工程就是构成该应用程序的所有文件、对象、数据的集合。在visual basic的一个工程中,一般包含以下4种类型的文件。 窗体模块文件,其扩展名为.frm。工程中的每个窗体都有一个独立的窗体文件。它包含窗体及其控件的描述和属性的设置,以及所有窗体级的常量、变量、外部过程的声名、事件过程、通用子过程和函数。 若窗体中含有二进制属性的内容,如图片或图标等,visual basic会自动产生一个窗体文件的二进制文件,其扩展名为.frx。它包含了窗体上控件的属性数据,这些数据不可被用户编辑。 标准模块文件,其扩展名为.bas标准模块中可以包含数据类型、常量、变量、过程和函数的声名。 类模块文件,其扩展名为.cls。只有工程中添加了类模块,才会在工程中包含类模块文件。每一个类模块都有类模块文件。类模块与窗体模块相似,只是没有可见的用户界面,可以使用类模块创建含有方法和属性代码的用户自定义对象。11.7 过程和函数在处理比较复杂的问题时根据程序化设计的原则,可将某个复杂的任务根据功能分解为多个模块再根据作用细分为更小的数据单元。构成这些程序单元的程序被称为过程,通常过程用来完成某个特定的功能。在visual basic程序中,使用过程可以使程序结构更清晰更加条理化,可以使复杂的计算较容易理解和实现。此外,在程序中使用过程,可以提高编程效率,代码更容易维护,也减少了代码的出错率。11.7.1自定义过程用户自定义过程是根据用户需要所确定的程序结构,与界面设计无关,可以被其他程序调用。在visual basic程序中,根据用户自定义过程的性质,可以分以下四类过程。 sub(子程序)过程 function(函数)过程。 event(事件)过程 propetry(属性)过程我们通常将sub过程、function过程称为通用过程,两者之间的差异并不大,只是函数过程(function)有一个返回值,而子程序过程(sub)则没有返回值11.7.2函数过程执行函数过程会得到一个确定值,称为函数过程的返回值,因此,对函数过程的声明要有一个返回值类型的说明。若省略返回值类型的说明,则函数的返回值将是variant类型。函数返回值必须在函数的程序段中用“函数名称=返回值”指定,它的作用是将函数过程处理的结果带回函数调用处。如果没有这条语句,该函数则会返回一个系统默认值。11.8 function函数过程的建立可以在标准模块和窗体模块的代码中创建function函数过程,只要将插入点放在所有现有过程之外,按照函数过程的语法在代码窗体中输入函数的各个语句。注意不能在外的function函数和sub子过程中定义函数过程。创建函数的另一方法是利用visual basic提供的“添加过程”命令。在“工具”菜单中选择“添加过程”命令,打开“添加过程”对话框,在“名称”框中输入函数过程名,在“类型”中选择类型为“函数”,在“范围”中选择函数的作用域,即“公有的”还是“私有的”。11.9事件过程 事件过程是程序响应用户引发的事件或系统引发的事件而执行的代码块。一个窗体的事件过程通常和窗体相关联,当某个窗体事件发生时调用对应的事件过程,若要创建事件过程,只要在visual basic的代码窗体中,从“对象列表框”中选择一个对象,从“事件列表框”中选择一个事件,系统会自动提供正确的事件过程名,用户只要在中间加上自己的程序代码即可。11.10 模块的概念visual basic的代码存储在模块中。简单的应用程序可以只有一个窗体,程序都存放在窗体模块中。当应用程序比较复杂时,就需要另外添加多个窗体。这样,可能有几个窗体中有一些共同需要执行的代码,为了在2个窗体中不产生重复代码,可创建一个独立的模块,用它实现代码公用,该独立模块就是标准模块。此外还可以建立包含共享代码与数据的类模块。标准模块、类模块和窗体模块都可包含: 声名。可将常数、类型、变量和动态链接库(dll)的声明放在窗体、类或标准模块的声名部分。每个模块只有一个声名部分。 过程。每个模块可有多个过程visual basic主要有子过程、函数过程或者属性过程等。11.10.1窗体模块visual basic是面向对象的应用程序开发工具,其应用程序的代码结构就是该程序在屏幕上表示的对应模型。应用程序中的每个窗体都有一个相对应的窗体模块,窗体模块是visual basic应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、自定义类型和外部过程的窗体级声明。写入窗体模块的代码是该窗体所属的具体应用程序专用的,也可以引用该程序内的其他窗体和对象。 每个窗体模块都包含事件过程,在事件过程中有为响应该事件而执行的程序段。窗体可包含控件。在窗体模块中,窗体上的每个控件都有相应的事件过程。除了事件过程,窗体模块还可包含通用过程,它对来自该窗体中任何事件过程的调用都作出响应。11.10.2标准模块 标准模块是窗体中的一个独立模块,可将那些与特定窗体或控件无关的代码放入标准模块中。标准模块中包含应用程序内的允许其他模块访问的过程和声明。在默认状态下,变量对于事件过程来说是局部的,就是说只能在创建这些变量的事件过程中读取或修改变量。与之相似,事件过程对于创建它们的窗体来说也是局部。但在编写程序时,很可能会遇到一些使用相同变量和过程的窗体和事件过程。为了在工程中的所有窗体和事件中共享变量和过程,需要在该工程的一个或多个标准模块中对它们进行声名和定义。正如窗体一样,标准模块被单独列在“工程”窗体内,但是与窗体不同,窗体模块不包含对象或属性设置而只包含可在代码窗体中显示和编辑的代码。若要在程序中创建标准模块,可单击工具栏“添加窗体”按钮上的下拉箭头并单击“模块”,或者单击“工程”菜单中的“添加模块”菜单项。11.11访问数据库类型visual basic 访问数据库技术分为以下几个部分: microsoft可视化数据工具。使用visual basic 6.0可以创建每个步骤封装在数据访问系统中的部件。从数据源开始,microsoft可视化数据工具提供了在access、sql server和oracl系统中查看并操作表和视图的功能。 中间部件和microsoft transaction server。在生成自己的activex dll和exe时,用户还可以在应用程序中使用visual basic创建中间层部件。visual basic现在的增强功能允许用户自定义应用程序,以便同microsoft transaction server。一起使用。由于数据访问是通过中间层进行的,因此客户端可以不再与数据库直接建立数据连接,也就是说,建立数据服务器上的连接数量将大大减少。 activex data objects(ado)。它实际上是一种提供访问各种数据类型的连接机制。ado设计为一种极简单的格式,通过odbc的 同数据库接口相连。用户可以使用任何一种odbc数据源,即不仅适合于sql server、oracle、access等数据库管理系统,也适合于excel表格、文本文件、图形文件和无格式的数据文件。ado是基于ole db之上的技术,因此ado通过其内部的属性和方法能够提供统一的数据访问接口方法。为了向后兼容和工程维护方便,它支持远程数据对象和数据访问对象。 数据源和数据控件。在客户端,有几种新的数据源是可用的,其中包括数据环境,它是一种图形设计器,允许快速创建ado connection和command来访问数据。数据环境设计器,为工程中的数据访问对象动态可编程界面。此外,数据环境还提供了高级的数据定型服务,即创建相关数据的层次结构、合计以及自动分组等功能,所有这些都不需要代码。 动态数据绑定。visual basic具有将数据源动态绑定到数据使用者的功能。运行时,可以将数据使用者的datasource属性设置为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身私教课程设计与客户服务标准化流程
- 小程序协议合同范本
- 工厂焊工外包协议书
- 工地供货签合同范本
- 工程结账协议书范本
- 建厂占地合同协议书
- 广告产品安装协议书
- 师徒结对帮教协议书
- 工程集资建设协议书
- 工程材防水合同范本
- 湿热灭菌柜验证培训
- 内蒙古呼和浩特市赛罕区2025-2026学年七年级上学期生物期中试卷(含答案)
- 工会考试题库附答案2025年
- 2025年天津红日药业股份有限公司招聘笔试考试参考试题附答案解析
- 四川省凉山州西昌市2025-2026学年高一上学期期中学科素养监测数学试题(无答案)
- 呼和浩特市春华水务集团公司招聘笔试历年参考题库附带答案详解
- 哈三中2026届高三上期期中考试英语试卷(含答案)
- 2025年中学生心理测试题及答案
- 2022北京首都师大附中高一12月月考数学(教师版)
- 宣城市中医院透析患者营养评估与指导考核
- 行业会计教学课件
评论
0/150
提交评论