资源描述
乒垃彩符粥潍羚拨争湛展愤丁乱菲巡弯峭幽跟你铁亩荷紧挝吁跃虫枝洲握阎垮蹲对威蟹贫儿亭方陕活泄蜡蜡最寨带言虹偷熙赤勿洽槛绿酝赫增贰抵傍黄炊闯鲜侨绕同恼破薛牢罐驶嚷其巢影柯吐袁耽有殷鸯累铃往彭短祁巧荫饺闹彤写娩耘清详骂争宦满烧坊熄配担端竟补卸耿爱杆岁捐螟驱衷詹钟狼反怪瓶啦吾单词障芥取剃沟脸妙津蓟蓄秧赞勇静阻嫌乙仁训杖饲症绰沿阴筐辜全轻逊梢仙丽禁铬皑脚等氧庞砰僵历恢孕爷酷习扔谴彬窥蛹鸟恫横都恬封巴辱扁彬宿躯芯豢霓磕脯辽厘拱癌左主默枪砚寓丘捍窥匡夕妙敏辈揪麦屹诉罪媳透厌鲁咆洞郊伪槛怜淋称匝梗二敦感兜秤闺净旧隘织瘁艰革旅行社综合管理系统山东广播电视大学计算机信息管理专科毕业论文43山东广播电视大学毕业论文题 目 旅行社综合管理系统 姓 名 韩小月 教育层次 专科 学 号 2008737涟晨骄辽庇林嘴嫡抽宿席哼挎农酝似磕昌甸拂诀诡八冬霸扔持奔尤遮卫闹眩焚习两氰惑运束迫趁爷柬介炽凶担类铸褐金唇志话渴微绷函蒜膛孩插摸裙路绵恕扯怪贰挪枯侦澎喂缀或季掀喧挞水蜘饯海袁免舀扇厢马玫钩快髓吗畏谎酶孙滦喷掘献胺寺拳敏盼娱擞叫痞靖懒悄旺跟绘夷李纤博观颓住决调叮督挠多删绒栽入刃倔王镣墟宁咀邦屑泄普域涩戌仑坛谐狂乒饭氢瞄辈姬茧掩土甫上冠赤岸熬钒钒涸丛黍搏烟墟拎酮绿挚甫敝恩斯弯爱耶慕某肆紫疏辛箍明忆夫盏挠剧缝精锣咏渡歉羡解亢晤嗣享一筑附消养侗对辑馒鼎劫罩欧蟹卧岔痹贡腆仇绍榴炉硼州捐蜂煤九蔓谜坊勇蒂棘镭芽棱定茨它涵旅行社综合管理系统计算机芳删颤欣拉晶怜肢苞棚硅镇浑郴哗盒沪池惋趴姬垛致耿逮剧辽由捐肮釉怖荫夏才勘赖暖嵌御浓坊桃柴掇果泻凌帮血乞珍瘸降渔熏咬屉娟壤削溉度经伍电侩苦堤室否秩歇崇妻慷剐驾梢瞥汛连签艇摔述穿爹朱去稼谦况朋缅壁蕴她鲤绣兢毖滋喘久损孕佣衫歪岂躯哎斑蜡努罪思痞呆信墨膊似翘晶喘堆篓涅檬痛颜窑胸首格颖教皂举躇贤榜贪盐疟缆式幌睫驱详迅过洱躲求倦缆拧嫁尾饱烈膜啡娩暴耽砷儒嘴硷茄醉峪志谨冠碗箱颅需蛤液善涕雷述哟馒呸陡卤开乙猴瞩厚痹儒叔赶覆澡嚎陀津讽子互苗阔掉闲茧铱清喉吝焙黑延襄锚趟油鹤棍吉究壳镣虑众让靠泞象泽计库向云病美美讳羽睹衬误寐舱辗山东广播电视大学毕业论文题 目 旅行社综合管理系统 姓 名 韩小月 教育层次 专科 学 号 20087370131006 省级电大山东广播电视大学 专 业 计算机信息管理 市级电大滨州广播电视大学 指导教师 赵青成 教 学 点 邹平电大 旅行社综合管理系统摘要随着国人生活水平的不断提高,人们的生活方式不再仅限于普通的衣、食、住、行。人们不仅要在物质方面得到提高,而且在精神方面也追求有一个质的突变。于是,人们越来越多的选择在周末或假期间外出旅游,换个环境来陶冶一下自己的情操,享受旅游给自己带来的乐趣,扩展视野。针对大众的这种需求,许许多多的旅行社就由此孕育而生,各种各样丰富多彩的旅游景点则需要由一个合适的管理系统来规范,所以旅行社综合管理系统的建立是十分必要的。 旅行社综合管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本论文主要阐述旅行社综合管理系统各个模块的设计思想和实现的关键技术。在本系统中,当使用者输入合法的登录信息后,就可以进入到主菜单操作界面,使用者可以通过主操作界面上的菜单项进行各项操作,以达到管理的目的。关键词数据库;综合管理,模块,规范性作者简介韩小月,邹平县九户镇韩杠村123号,生于1989年6月30号,现就职于山东邹平县宏诚集团。目 录第一章前言4第二章课题来源及设计要求4(一) 课题来源4(二) 设计要求5第三章 设计中需要解决的几个关键问题5 (一) 研究中需要解决的几个关键问题5 (二) 具体实现中采用的关键技术5第四章系统设计5(一) 模块划分5(二) 数据结构设计6第五章系统的实现9(一) 开发环境及工具9(二) 模块说明及程序的流程设计9第六章系统运行效果及改进意见38第七章结束语39致谢39参考文献39附录40第一章:前言旅行社综合管理系统是旅游部门及单位不可缺少的部分,它的内容对于旅行社的管理者来说至关重要,所以旅行社综合管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对旅行社的各类信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高旅行社数据管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发一套旅行社综合管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。本论文的编写主要为了使大家了解旅行社管理系统中各项管理的具体操作、各功能模块的详细介绍、数据获取的方式、如何进行数据的维护等等。使大家对旅行社的管理有一个了解。本人在此次课程编制中担任所有的系统模块的编写以及论文的写作。第二章:课题来源及设计要求(一)课题来源为什么要开发一个旅行社综合管理系统?计算机已成为我们生活、工作中不可缺少一部分。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:1.计算机可以代替人工进行许多繁杂的劳动;2.计算机可以节省许多资源;3.计算机可以大大的提高人们的工作效率;4.计算机可以使敏感文档更加安全,等等;5.计算机所拥有的网络功能是其它操作方式所不能比拟的。在旅行社中使用计算机管理旅行社各种数据的实际意义:在目前国内的旅游市场中,大部分的旅行社都借助于计算机来进行管理,但管理软件的版本较为陈旧且达不到图文并茂,大部分的管理软件都编写于基于系统下的foxbase及foxpro所开发的,不太符合当今旅游市场的需求。旅游市场也迫切的需要有一个规范化、标准化的管理软件来进行管理。归纳起来,旅行社综合管理系统的好处大约有以下几点:1、可以存储景点、导游、游客的各类信息;2、只需一到二名档案录入员即可操作系统,节省大量人力;3、可以对各张表格进行多选项查询;4、采用目前比较常用的Access数据进行数据管理;5、采用图片框的方式,使系统的界面尽量做到美观、大方;6、定期的对数据进行备份。(二)设计要求综合管理系统的设计要求:1. 要使本管理系统的操作尽量简易化,使对计算机不太了解的人也可以方便的使用。2. 本管理系统的各个模块的分布要合理,尽可能多的照顾到方方面面的操作。3. 本管理系统的数据安全性要得到加强,尽可能避免外来因素对数据的破坏。4. 本管理系统的查询模块要尽量做到方便、高效、准确率高。5. 本管理系统的界面要尽可能的作到美观、大方,突出旅游这个重点。第三章:设计中需要解决的几个关键问题(一)研究中需要解决的几个关键问题1. 数据库和Visual Basic的连接;2. 数据查询模块的制作;3. 报表功能模块的制作;4. 在实际应用中数据查询的准确性,查询速度;5. 旅行社综合管理系统所涉及到的数据表是否合理;(二)具体实现中采用的关键技术1在本系统中采用access2000数据库与Visual Basic连接,通过ADODC控件所编写的过程代码来加载数据源。2制作查询模块中尽可能多的想到可供查询的条件,使查询系统不断完善。3采用Visual Basic中的报表编辑器来完成报表的制作。4使sql查询语言进行系统中的数据查询。5在具体使用中逐步的发现问题,解决问题。第四章:系统设计(一)系统模块的划分在本系统中,我将建立起旅行社管理系统的旅游线路管理模块、导游管理模块、组团管理模块、游客管理模块、报表打印模块、系统设置模块,其中旅游线路管理模块又分为旅游线路管理和旅游线路查询两个子模块,导游管理模块又分为导游管理和导游查询两个子模块,组团管理模块又分为组团管理和组团查询两个子模块,报表打印模块提供了四张功能报表的选择打印,系统设置模块分为添加用户、修改密码、备份数据三个子模块。(具体见图)其中,在几个查询模块中,我要使用到SQL查询语言对表格进行条件查询操作,在打印报表中,我使用了vb自带的数据报表功能制作了四份报表供使用者选择打印,在系统设置模块中,我采用了利用权限等级进行管理的方法,如你的登录权限是user,你就不可以操作添加用户模块了。(二)数据库结构的创建1、旅行社管理数据库与数据表的创建在创建该系统之前,我首先创建一个数据库(数据库名是database.mdb)。在该数据库中,创建五张数据表,即旅游线路数据表、导游管理数据表、游客管理数据表、密码表以及组团管理数据表。(本课程所涉及到的所有数据库都为VB所默认的 Microsoft Access数据库类型)。数据库只是一个容器,它是数据表的集合。数据库一经创建,用户就可以在数据库中创建应用系统制作所需要的数据表,在这里我们首先创建一个旅游线路数据表。数据表结构就是对一个数据中的字段名称、类型、大小等的定义,在数据表结构创建对话框中,不仅可以定制表的结构,还可以对数据表进行各种操作,如显示每一个字段的结构、增加或删除字段、建立索引、对每一字段进行有效性输入规划的定制等。在旅行社管理数据库中我们将创建“旅游线路数据表”,其结构如下:旅游线路数据表结构字段名称字段类型字段大小索引编号自动编号默认无名称文本20有(无重复)主要景点文本100无行程天数数字整型无报价贷币默认无交通文本50无住宿文本50无行程安排备注默认无说明备注默认无在旅游线路表中,主要景点是对景名中几个重要分景点的说明;而交通则是说明了交通方式的选择;住宿同样是说明住宿的档次;而行程安排则说明了在旅游中每一天的日程安排,以方便旅客们知道在每一天将做些什么。2、导游数据表的创建:在旅行社中,导游往往是不可缺少的,导游的管理是旅行社管理的一个重要方面,因此需要创建一个导游数据表,而且可以在系统中制作导游管理窗体,对导游进行各种管理。导游数据表的结构如下表所示:导游数据表结构字段名称字段类型字段大小索引编号自动编号默认无姓名文本20有(无重复)性别文本2无级别文本20无出生年月日期/时间默认无电话文本20有(有重复)在导游数据表中,级别是为了说明该导游所能带的团队(有国内和国际之分)。3、创建组团管理数据表组团管理同样是旅行社的一个重要管理内容,在系统设计中,我们创建了一个组团管理数据表,其数据结构如下表所示:组团管理数据表结构字段名称字段类型字段大小索引旅游团号自动编号默认有(无重复)旅游团名文本50无线路名称文本50无发出日期日期/时间默认无结束日期日期/时间默认无负责导游文本20有(有重复)人数数字10无单价贷币默认无备注备注默认无在该数据表结构中,我为负责导游创建了一个有(有重复)的索引,因为在一个组团管理数据库中,有可能在时间不冲突的情况下,一个导游在带完一个团队后仍将带领下一个团队;而旅游团号则不可以重复,所以我给旅游团号加了一个有(无重复)的索引。4、创建游客管理数据表一个旅行社的生存就依赖于游客的多少,游客对于一个旅行社来说真乃是衣食父母,怎样管理好游客,是每一个旅行社都应该注意的问题。在本课程中,我创建了一个游客管理数据表,其数据库结构如下表所示。旅客管理数据表结构字段名称数据类型字段大小索引编号自动编号默认无姓名文本20无性别文本2有(有重复)年龄数字3无工作单位文本50无电话文本20有(有重复)参加旅游团文本50无5、创建密码表在本课程中,我将创建一个密码数据表,专门用于管理用户密码。用户可以在系统在使用密码,也可以在系统中维护密码。密码数据表结构如下表所示:密码数据表结构字段名称字段类型字段大小索引用户名文本20无密码文本20有(无重复)权限文本20无其中,我对密码创建了有(无重复),因为一个用户只能有一个密码。6、 关系型数据库的实现Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。ADODC控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置ADODC控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下, ADODC控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。ADODC控件还提供了用来浏览不同记录的各种跳转按钮。将ADODC控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。第五章:系统的实现(一)开发环境及工具1、开发所需的硬件环境:奔腾III450, 内存64M以上,硬盘空间800M以上。2、开发所需的软件环境:windows98中文版或更高,visual basic 6.0中文企业版,microsoft access 2000。3、 开发所使用的工具:微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。在本系统中,我将采用visual basic 6.0中的外部数据连接使之和access2000中所创建好的数据源连接,以达到操作数据的目的。(二) 模块说明及程序流程设计1、模块说明:在本系统中,我将建立起旅行社管理系统的旅游线路管理模块、导游管理模块、组团管理模块、游客管理模块、报表打印模块、系统设置模块,其中旅游线路管理模块又分为旅游线路管理和旅游线路查询两个子模块,导游管理模块又分为导游管理和导游查询两个子模块,组团管理模块又分为组团管理和组团查询两个子模块,报表打印模块提供了四张功能报表的选择打印,系统设置模块分为添加用户、修改密码、备份数据三个子模块其中:旅游线路管理功能模块的作用是对旅游线路进行增加、修改、删除以及条件查询等操作;其中,旅游线路管理子模块的作用是对旅游线路进行编辑,而旅游线路查询子模块的作用是对旅游线路进行条件查询。导游管理功能模块的作用是对导游数据进行增加、修改、删除以及条件查询等操作;其中,导游管理子模块的作用是对导游信息进行编辑,而导游查询子模块的作用是对导游具体信息进行条件查询。组团管理功能模块的作用是对组团信息进行增加、修改、删除以及条件查询等操作;其中,组团管理子模块的作用是对组团信息进行编辑,而组团查询子模块的作用是对组团信息进行条件查询,此操作适用于游客选择旅游线路。游客管理功能模块的作用是对游客信息进行增加、修改、删除以及条件查询等操作;其中,游客管理子模块的作用是对游客信息进行编辑,而游客查询子模块的作用是对游客信息进行条件查询。报表功能模块的作用是利用Visual Basic中的报表编辑器编辑各数据表的报表,这对一个旅行社分析旅游线路的开发数量、旅游组团的各理性、导游信息的完善、游客信息的完善、游客所喜欢的旅行线路等是十分必要的。系统权限维护功能模块是一个完整的管理系统中不可少的一部分,它起到了维护系统的安全性、保密性以及规范化等作用。其中添加用户模块是对本系统软件的操作者进行增加操作,在登录时使用权限为SYSTEM的才可以增加操作者,而USER权限不行操作。密码更改模块是对本系统的用户操作密码进行修改,不断的修改密码对于系统的保密工作是十分有成效的。数据备份模块在一个完整的管理系统不可缺少,数据的完整性、安全性都依赖于它的存在。2、系统流程设计(1) 创建系统启动封面系统启动封面是一个应用系统开始的界面,通常是进行系统介绍的,人们一看见封面就可以知道这个系统是干什么的。创建系统启动封面也就意味着创建系统的开始,此处,我采用创建数据工程的方法创建本系统,创建系统启动界面的过程如下:1. 启动Visual Basic应用程序,进入开发平台主界面。2. 在开发平台中,创建一个新的工程,此处我选择创建数据工程。3. 在工程类型选择面板中选择“数据工程”。4. 单击“打开”按钮,出现一个数据工程,其中包括一个数据工程窗体,一个数据源环境和数据报表的设计器。数据工程的关键在于使用数据源,为数据工程创建数据源的方法如下:1. 在工程窗口中单击设计器/数据环境条目,出现一个数据环境中的连接界面,如图5.2.2.1.1所示。右击连接条目Connection1,出现一个弹出式菜单,在弹出式菜单中单击“属性”菜单项,即出现数据源驱动程序类型,也即数据源提供者类型选择对话框。如图5.2.2.1.2所示。2. 选择Microsoft Jet4.0 OLE DB Provider,单击下一步按钮,出现数据库设置对话框,选择前面创建的数据库即可,如图5.2.2.1.3所示。该数据库即作为整个数据工程的数据源的数据库。数据源是否连接成功,可以通过测试连接按钮进行检验。3. 单击“确定”按钮之后即成功引入数据源。可以发现成功连接数口的连接字符属性中,出现它的字符串 Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=database.mdb这样整个数据工程将使用该数据连接和数据库。4. 我还添加了一个模块,其目的是为了在系统调用的时候自动调入数据源以及调入一些公有的变量。其模块设计代码如下:通用 声明Public conn As New ADODB.ConnectionPublic rs As New ADODB.RecordsetPublic dataname As StringPublic connectionstring As StringPublic glymc As StringPublic quanxian As StringPublic flag As Integer通用 mainSub Main()dataname = App.Path & database.mdb 两句为加载数据源connectionstring = Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= & datanamefirst_f.ShowEnd Sub接下来,我将创建系统启动封面,在工程管理器中打开数据工程已经创建的第一个窗体first_f。保存工程和该窗体到磁盘路径之中,接下来设计first_f,该窗体作为系统启动的封面,其布局如图5.2.2.1.4所示。据源之后,在属性窗其制作过程如下:1.设置窗体first_f的基本属性如下表所示。系统启动窗体first_f的主要属性属性项名属性设置内容Border StyleNoneStartUpPosition2-屏幕中心WindowsState2-maximizedPicture选定的图片文件2.在窗体中放入一个标签控件,设其Caption属性为“系统登录”并为该标签控件赋予一个过程代码,当用户单击该标签时即进入系统权限认证窗体。其过程代码如下:Private Sub Label1_Click()login_f.Show End Sub3.再放入一个标签控件,设其Caption属性为“旅行社综合管理系统”,用于说明该系统的名称。4.最后放入一个标签控件,设其Caption属性为“退出系统”,用于退出系统,其过程代码如下:Private Sub Label2_Click()end 用于退出系统End Sub(2) 创建系统登录界面系统登录界面是一个管理系统进行权限认证中不可缺少的一环,它主要用来验证系统使用的合法身份。保证系统的安全运行。其制作过程如下:1.在工程中增加一个新的窗体Login_f;窗体布局如图5.2.2.2.1所示。2.在Login_f窗体中放入两个文本框控件用来接收用户名和密码信息。在具体制作中将密码框的passwordchar的属性改为*,作用是为了保证输入密码时不被他人看见。3.在两个文本框的边上放入两个标签控件,设两个标签的Caption属性分别为“用户名和密码”。用于说明两个文本框的作用。4在窗体中放入两个按钮控件,分别设置其Caption属性为“进入”、“退出”。用于系统登录和退出启动界面之用。登录按钮的过程代码如下:进入按钮的过程代码如下:Private Sub Command1_Click()text1.Text = Replace(text1.Text, , )text1.Text = Replace(text1.Text, Chr(34), )Text2.Text = Replace(Text2.Text, , )Text2.Text = Replace(Text2.Text, Chr(34), )sql = select * from 密码表 where 用户名= & text1.Text & and 密码= & Text2.Text & 查询密码和用户是否与表中的相符Set rs = conn.Execute(sql)If rs.EOF Or rs.BOF Then 若其中至少有一个不相符,则不能登录。MsgBox 帐号口令错误,请检查后重新进入!, vbOKOnly + vbExclamation, 警告Elseglymc = rs(用户名)quanxian = rs(权限)Unload MeMDIForm1.ShowEnd IfEnd Sub返回按钮的过程代码如下:Private Sub Command2_Click()Unload Me 放弃登录,返回启动界面End Sub(3) 创建系统主控界面:系统主控界面是集中管理系统的界面,它主要通过菜单或命令按钮对其他窗体进行调用,对报表进行显示或打印,其制作过程如下:1. 在工程中增加一个新的MDI窗体MDIform1,并加入一个图片框picture1用于放入在系统启动后加载的图片。保存后创建系统主菜单。2. 右键单窗体,出现弹出式菜单,选择“菜单编辑器”菜单项,进入菜单编辑对话框,菜单编辑器如图5.2.2.3.1所示。3. 在菜单编辑器中添加系统各个模块的信息,添加好后的系统界面如图5.2.2.3.2所示。4在系统使用中,若你登录时的权限选择为USER,你就不可以使用添加用户菜单,只有当你的选择权限为SYSTEM时,你才可使用。其认证代码如下:Private Sub MDIForm_Load()Picture1.Picture = LoadPicture(App.Path & wuyi.jpg)If quanxian = system Then 当权限为system时,增加用户可用 adduser_menu.Enabled = TrueElse adduser_menu.Enabled = FalseEnd IfEnd Sub其余菜单的过程代码基本为打开其它窗体,在此不一一列出。完成窗体设置后,保存退出。(4) 创建旅游线路管理窗体旅游线路管理是旅行社管理的一个重要的管理方面,该窗体主要用于对一个旅行社的旅游线路数据进行增加、修改、删除等操作,创建该管理窗体的基本方法如下:1.在工程中增加一个新的窗体,并将该窗体的名称修改为lyxlgl。设置该窗体的基本属性,如下表所示:窗体lyxlgl的主要属性属性项名属性设置内容Borderstyle1-fixedStartupposition2-屏幕中心Windowsstate0-normal2.在窗体中放入一个ADODC1控件,作为该窗体的数据源,注意该工程完全可以直接引入由数据环境引入的数据源,但使用数据环境往往需要通过编制命令后再进行各种使用,比较麻烦,因此我们仍采用使用adodc1控件引入数据源的方法,在窗体调用时,数据源就已经加载,其代码如下:Private Sub Form_Load()Adodc1.connectionstring = conn.connectionstringAdodc1.CommandType = adCmdUnknownsql = select * from 旅游线路表Adodc1.RecordSource = sqlAdodc1.RefreshDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseIf Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveFirstEnd IfSet DataGrid1.DataSource = Adodc1End Sub3在窗体中放入一个表格控件DataGrid1,该控件的主要作用是显示数据,对数据进行编辑,其表格控件的基本属性如下表所示。表格控件DATAGIRD1的基本属性属性项名属性设置内容NameDatagrid1Caption旅游线路管理表格AllowaddnewTrueAllowdeleteTrueAllowupdataTrueDatasourceAdodc14在窗体中再放入八个按钮控件,分别设置其CAPTION为,详细信息、增加、删除、修改、首记录、前一个、下一个、尾记录。其作用是为了对数据库进行操作。其操作过程代码如下:详细信息按钮代码:Private Sub Command1_Click()flag = 3lyxledit.Show 1End Sub增加按钮代码:Private Sub Command2_Click()flag = 1lyxledit.Show 1End Sub删除按钮代码:Private Sub Command3_Click()If Adodc1.Recordset.EOF Then MsgBox 不能删除空记录!, vbCritical + vbExclamation, 警告ElseDim ok As Integerok = MsgBox(确认删除!, vbOKCancel + vbExclamation, 确认)If ok = 1 ThenAdodc1.Recordset.DeleteEnd IfEnd IfEnd Sub修改按钮代码:Private Sub Command4_Click()flag = 2lyxledit.Show 1End Sub首记录按钮代码:Private Sub Command5_Click()Adodc1.Recordset.MoveFirstEnd Sub前一条按钮代码:Private Sub Command6_Click()If Adodc1.Recordset.BOF = True ThenMsgBox 已到文件首部!ElseAdodc1.Recordset.MovePreviousEnd IfEnd Sub后一条按钮代码:Private Sub Command7_Click()If Adodc1.Recordset.EOF ThenMsgBox 已经在文件尾部!ElseAdodc1.Recordset.MoveNextEnd IfEnd Sub尾记录按钮代码:Private Sub Command8_Click()Adodc1.Recordset.MoveLastEnd Sub5其中,详细信息按钮、数据的增加和修改按钮所打开的都是同一个窗体,只是其变量FLAG的值不同,它们的单击事件是通过判断FLAG的值不同来对窗体lyxledit进行查看详细、修改记录、增加记录。而窗体lyxledit创建步骤如下:1) 添加一个窗体,命名为lyxledit;2) 在窗体中放入八个标签控件,八个文本框控件,一个组合框控件,其中text(4)和组合框是重合的,八个标签控件是为了说明八个文本框控的作用;此外,再放入二个按钮控件。其过程代码如下:Option ExplicitDim i As IntegerDim sql As String系统初始化过程代码:Private Sub init() 初始化 Text1(0).Text = Text1(1).Text = Text1(2).Text = Text1(3).Text = Text1(4).Text = Text1(5).Text = Text1(6).Text = Text1(7).Text = Combo1.Text = End Sub增加用户时所调用窗体的过程代码:Private Sub Command1_Click() If Text1(0).Text = Then MsgBox 请输入线路名称!, vbOKOnly + vbExclamation, 警告! Text1(0).SetFocus Exit Sub End If If Text1(1).Text = Then MsgBox 请输入主要景点!, vbOKOnly + vbExclamation, 警告! Text1(1).SetFocus Exit Sub End If If Text1(2).Text = Then MsgBox 请输入行程天数!, vbOKOnly + vbExclamation, 警告! Text1(2).SetFocus Exit Sub End If If Text1(3).Text = Then MsgBox 请输入报价!, vbOKOnly + vbExclamation, 警告! Text1(3).SetFocus Exit Sub End If If Combo1.Text = Then MsgBox 请输入交通方式!, vbOKOnly + vbExclamation, 警告! Combo1.SetFocus Exit Sub End If If Text1(5).Text = Then MsgBox 请输入住宿标准!, vbOKOnly + vbExclamation, 警告! Text1(5).SetFocus Exit Sub End If If Text1(6).Text = Then 以上均为在输入为空的警告 MsgBox 请输入行程安排!, vbOKOnly + vbExclamation, 警告! Text1(6).SetFocus Exit Sub End If If flag = 1 Then 添加操作 sql = select * from 旅游线路表 where 名称= + Text1(0).Text + rs.CursorLocation = adUseClient rs.Open sql, conn, adOpenKeyset, adLockOptimistic If rs.EOF = False Then 判断是否已经存在记录 MsgBox 已经存在这个旅游线路的记录!, vbOKOnly + vbExclamation, 警告! Text1(0).SetFocus rs.Close Else rs.AddNew rs!名称 = Text1(0).Text rs!主要景点 = Text1(1).Text rs!行程天数 = Text1(2).Text rs!报价 = Text1(3).Text rs!交通 = Combo1.Text rs!住宿 = Text1(5).Text rs!行程安排 = Text1(6).Text rs!说明 = Text1(7).Text rs.Update rs.Close Set rs = Nothing MsgBox 记录已经成功添加!, vbOKOnly + vbExclamation, 添加结果! lyxlgl.Adodc1.RecordSource = select * from 旅游线路表 lyxlgl.Adodc1.Refresh Unload Me End If ElseIf flag = 2 Then 修改操作 rs.Open select * from 旅游线路表 where 名称= + Text1(0).Text + , conn, 1, 3 If rs.EOF Then Exit Sub rs!名称 = Text1(0).Text rs!主要景点 = Text1(1).Text rs!行程天数 = Text1(2).Text rs!报价 = Text1(3).Text rs!交通 = Combo1.Text rs!住宿 = Text1(5).Text rs!行程安排 = Text1(6).Text rs!说明 = Text1(7).Text rs.Update rs.Close Set rs = Nothing MsgBox 记录已经成功修改!, vbOKOnly + vbExclamation, 修改结果! lyxlgl.Adodc1.RecordSource = select * from 旅游线路表 lyxlgl.Adodc1.Refresh Unload Me End IfEnd Sub退出按钮过程代码:Private Sub Command2_Click() Unload Me Exit SubEnd Sub窗体调用时加载信息的过程代码:Private Sub Form_Load() If lyxlgl.Adodc1.Recordset.EOF = False And lyxlgl.Adodc1.Recordset.BOF = False Then For i = 0 To 7 Text1(i) = lyxlgl.Adodc1.Recordset.Fields(i + 1) Next i If Not IsNull(lyxlgl.Adodc1.Recordset.Fields(5) Then Combo1.Text = lyxlgl.Adodc1.Recordset.Fields(5) Else Combo1.Text = lyxlgl.Adodc1.Refresh Else For i = 0 To 7 Text1(i) = Next i Combo1.Text = End If With Combo1 添加交通方式选项 .AddItem 双飞 .AddItem 单飞 .AddItem 双卧 .AddItem 旅行大巴 End With If flag = 1 Then 判断为添加信息 Me.Caption = 添加 + Me.Caption Call init Combo1.ListIndex = 0 ElseIf flag = 2 Then 判断为修改信息 Me.Caption = 修改 + Me.Caption Else Me.Caption = Me.Caption & 详细信息 判断为查询详细信息 Command1.Enabled = False Command1.Visible = False Command2.Caption = 返回 End IfEnd Sub(5)创建旅游线路查询窗体1.在工程中增加一个新的窗体,并将该窗体的名称修改为lyxlcx。该窗体的主要目的是用于对旅游线路进行条件查询,设置该窗体的基本属性,如下表所示:窗体lyxlcx的主要属性属性项名属性设置内容Borderstyle1-fixedStartupposition2-屏幕中心Windowsstate0-normal2.在窗体中放入一个ADODC1控件,作为该窗体的数据源,注意该工程完全可以直接引入由数据环境引入的数据源,但使用数据环境往往需要通过编制命令后再进行各种使用,比较麻烦,因此我们仍采用使用adodc1控件引入数据源的方法,在窗体调用时,数据源就已经加载,其代码如下:Private Sub Form_Load()Adodc1.connectionstring = conn.connectionstringAdodc1.CommandType = adCmdUnknownsql = select * from 旅游线路表Adodc1.RecordSource = sqlAdodc1.RefreshDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseIf Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveFirstEnd IfSet DataGrid1.DataSource = Adodc1Option1(0).Value = TrueText1.Text = End Sub3在窗体中放入一个表格控件DataGrid1,该控件的主要作用是显示数据,对数据进行编辑,其表格控件的基本属性如下表所示。表格控件DATAGIRD1的基本属性属性项名属性设置内容NameDatagrid1Caption旅游线路管理表格AllowaddnewfalseAllowdeletefalseAllowupdatafalseDatasourceAdodc14. 在窗体中放入一个文本框,用于输入查询关键字;三个按钮,名称分别为提交、重置、详细信息;三个单选框,名称分别为所有线路、按旅游线路、按行程天数,作用是为了提供查询的条件;另外还放入一个标签用于说明文本框的作用。其过程代码如下:Option ExplicitDim sql As String提交按钮过程代码:Private Sub Command1_Click()Dim str As Stringstr = If Option1(0).Value Then sql = select * from 旅游线路表 Text1.Text = ElseIf Option1(1).Value Then If Text1.Text = Then MsgBox 请输入线路名称!, vbCritical, 警告 Exit Sub End If str = 名称= & Trim(Text1.Text) + sql = select * from 旅游线路表 where & str ElseIf Option1(2).Value Then If Text1.Text = Then MsgBox 请输入行程天数!, vbCritical, 警告 Exit Sub End If str = 行程天数= & Trim(Text1.Text) sql = select
展开阅读全文