货运设备管理系统_第1页
货运设备管理系统_第2页
货运设备管理系统_第3页
货运设备管理系统_第4页
货运设备管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

货运设备管理系统对整个铁路运输部门而言,设备管理具有很重要的意义。它是重要的基础管理信息资源,是进行技术改造、行车指挥、保障行车安全及事故抢险救援等的重要依据。设备是固定资产的重要组成部分,如何管理好各部门的设备,如何使设备的寿命周期更长,使其使用综合效率最高,是运输部门实现生产经营的重要目的之一。但是由于管理技术跟不上,使设备管理成为铁路系统技术管理的薄弱环节。铁路部门的日常计划、生产质量、技术、物资、能源和财务等管理,都与设备管理有着这样或那样的联系。随着铁路经营机制的变革和技术更新速度的加快,各级管理人员的行车技术设备信息的需求不断增长,以传统方式管理运输设备难以适应新形势的需要。设备管理的好坏,在很大程度上决定了行车安全以及运输成本的高低。在现代化生产条件日益完善的今天,设备管理水平的高低对运输部门的影响更是强烈。所以,提高铁路运输部门客货运设备管理水平,使之为车站的正常生产经营提供效率更高的后勤服务是十分有必要的。随着现代化生产水平的不断提高,设备的性能更加高级,结构更加复杂,使用维修等条件更加严格,设备的投资越来越昂贵。设备管理成为影响运输部门经济效益的主要因素之一,在运输部门日常管理中的地位举足轻重。所以,如何加强铁路运输部门的客货运设备管理,是摆在我们面前的一项迫切的重要任务。随着计算机的日益普及,计算机水平的飞速发展,尤其是以计算机为根基推动的信息技术和信息应用的发展更是成为了一个国家社会进步、经济腾飞的原动力。在全球互连网迅猛发展,网络经济正在兴起的背景下,铁路运输部门现有的设备管理系统也面临着向网络化、智能化、辅助决策支持等方向发展。本系统运用计算机 visual basic 编程工具设计了一个管理铁路货运设备,改变以前的落后的管理法,是货运设备管理进入信息化。下面是货运设备管理信息系统功能结构图。设计思想在该系统的开发过程中,我们充分吸收和借鉴了长期以来从事各种工程项目所积累的行之有效的原理、概念、技术、和方法,特别是在以往的计算机软件开发过程中所积累的经验和教训。采用软件工程的概念、原理、技术和方法开发和维护软件,把正确的管理技术和先进的软件开发技术结合起来。严格运用了生命周期方法学和各种结构分析及结构设计技术,以最大限度的满足用户需求为目的,从时间角度对该设备管理信息系统的开发和维护进行了分解,将软件开发分为六个步骤:制定计划、需求分析、软件设计、程序编写、软件测试、运行和维护。(1)对系统的设计进行了可行性研究开发应用软件前的可行性研究对开发人员来说是至关重要的一环,所以我们对以前类似的系统做了充分的研究,对即将开发的软件也做了大量的分析,并做出了相应的技术文档。以前有关设备管理的软件是在 DOS 操作系统下所实现的,随着计算机水平的不断提高,操作系统的不断升级,该系统版本低、界面单调,而且使用起来十分麻烦,已经远远不能符合用户的需要。我们所开发的系统要求紧密结合用户需求,针对以前软件的不足之处,开发出基于 WINDOWS 视窗操作系统的版本,该系统界面友好、风格独特、功能强大、使用起来方便快捷。针对铁路运输部门来说,快速、高效是尤其重要的要素,系统的开发也紧密结合了此要求。(2)对软件的需求分析及采用的开发环境 应用软件最主要的特点就是最大限度的满足用户的需求。系统开发人员要紧紧围绕用户的需求来开发软件。根据用户的要求,在经过反复分析研究之后,确定出铁路部门的运输设备履历簿管理信息系统要具有以下功能:1. 实现对以前版本的设备管理系统数据的兼容性; 2. 方便、快捷、安全可靠的履历数据编辑功能; 3. 高效、方便、时间和范围任意组合的车站数据查询功能; 4. 路局、分局在任意时间里对任意范围的数据进行统计的功能; 5. 路局、分局、车务段、车站部分数据年度、月度自动汇总功能; 6. 自动生成车站履历簿报表及年度报表以及分局年度汇总表功能; 7. 实现车站、车务段、分局、路局间的履历簿数据在网上自动传输的功能。 操作系统采用当前计算机用户普遍采用的 WINDOWS 95/98/2000 操作系统,软件开发工具选用了面向对象的软件开发工具 VISUAL BASIC 6.0,履历簿数据的存放、数据的处理及报表的生成选择了通用的办公软件 OFFICE 系列中的 MICROSOFT ACCESS 以及 MICROSOFT EXCEL 不仅实现了软件的大众性及通用性,而且实现了对以前在 DOS 下开发的履历设备管理数据存放的.dbf 格式的兼容性。(3)系统的设计思路如何制定系统总体结构,即用什么样的方案来设计应用软件的总体结构以及制定什么样的设计思路来完成所要开发的项目,是每个项目开发前最重要的环节之一。应用软件和工具软件不同,系统的总体结构、设计思路和系统目标是以用户的需求为中心的,所以选择最合乎用户要求的方案是必须的。该系统运行所采用的操作系统是当前大部分计算机用户普遍采用的 WINDOWS 95/98/2000 操作系统,也符合铁路运输部门普遍的使用习惯。在当前的软件开发中,面向对象(OO:Object-Oriented)的概念已经无处不在,面向对象的设计(OOD:Object-Oriented Design)成为系统设计和系统分析的首选方式,面向对象的编程(OO:Object-Oriented Programme)的语言已经成为主要的考虑对象。大多数其它程序设计语言将数据元素从执行它们的的过程或活动中分离,而面向对象(OO)的语言,是把数据与过程(或活动)结合起来与对象相联系。对设备履历簿管理信息系统的开发选择了功能强大的面向对象程序开发工具 VISUAL BASIC 6.0。它不仅有友好的图形界面,而且有强大的数据库访问和数据处理能力,以及许多支持面向对象设计和实现的特性:1. 在类模块中定义类; 2. 用属性过程提供公共访问; 3. 定义多态方法; 4. 生成事件; 5. 封装类常量; 6. 用 Object Browser 查看类; 7. 创建对象; 8. 使用窗体作为对象; 9. 使用对象组; 10.定义多接口; 11.开发数据库应用程序; 12.开发基于 WEB 的应用程序; VISUAL BASIC 6.0 的许多新特性更加完善了面向对象的技术。采用新的数据访问工具如 ADO2、DATA VIEW(数据视图)、DataEnvironment(数据环境)、Data Report(数据报告)设计器大大方便了访问数据库的功能;在 WEB 开发方面,可以用 VB 创建 WEB 应用程序。其中包括 DHTML 以及 ILS 应用程序。这些优秀的面向对象设计和面向对象数据访问的功能结合起来运用,能够高质量的完成对履历簿数据的编辑、查询以及统计功能。不仅实现每一个车站的数据查询,而且可以实现任何一个车务段,任何一个分局,任何一个路局,甚至任何一条铁路线上的所有车站的履历数据的查询和统计功能。功能完善,风格独特,优点突出,是该系统的特点,与多媒体的完美结合也使得该系统在使用户满意的程度上又上了一个台阶。数据处理是现代计算机应用中的一个重要组成部分。人们使用计算机对大量的数据保存和管理,一边推出有价值的信息辅助决策。数据处理的发展分为三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。数据库系统的发展有经历了三个阶段:网状数据库、层次数据库、关系数据库。数据库管理系统是一个软件系统,它能够对数据库进行存储管理、安全性管理、完整性管理。它为用户提供了一个软件环境,快速建立、维护、检索、存取和处理数据库中的信息。数据库和数据库管理系统在一起构成了数据库系统。面向对象程序设计方法中的对象是以对象名封装的数据结构和可施加在这些数据上的操作的集合。操作名列在封装对象的界面上,当一个对象 A 启动另一个对象 B 的某个操作 C 时,A 只需要以操作名 C 为主要信息向 B 发一条消息。对象 B 接收到 A 的消息后就会自动启动操作 C 的工作,完成对 B 的数据结构的加工。因此,数据库技术成为了计算机信息系统和应用系统的重要支柱。而面向对象程序开发中的面向对象的数据库系统就显的极为重要。铁路运输部门的客货运履历数据不仅多而且比较复杂,以前所采用的管理系统是 DOS 操作系统下的版本,履历簿数据是以.dbf 的格式保存的,所以选择 OFFICE 办公软件中的数据库开发软件 MICROSOFT ACCESS 不仅符合绝大多数计算机使用者的习惯,而且强大的数据存放和数据处理能力、对以前版本的履历数据的完全兼容是完全正确的。报表的生成也选择了 OFFICE 家族中的 MICROSOFT EXCEL 实现报表的自动生成,完全按照用户习惯保存以及打印报表数据。简洁方便,完全符合用户的要求。货运设备管理信息系统使用详细说明 1、首先进入系统并选择登录身份:单击图 1 中的“货运设备履历管理系统”,进入货运履历簿主窗口,如下图:图 1点击菜单上的“登录”,进入货运设备管理登录窗口,选择登录身份。图 2 2、选择不同身份登录以及登录后的相关功能(1)以局(或分局)的身份登录:在图 2 中如果只选择全路局(全分局)而不选择车站直接登录系统,将会出现如下功能菜单(图 3-3):图 3、对全局(全分局)的履历簿数据进行统计单击菜单上的统计,进入系统的统计功能。利用该功能可以对全局(全分局)的履历簿数据进行任何条件的统计。具体步骤如下:a、选定所要统计的范围若登录身份是全路局(全分局),那么统计范围就在全路局(全分局)。在局级身份下可以选择以下几个范围:1)、按铁路线统计在右图(图 4)中选择所要统计的铁路线。则统计的数据是在这条铁路线上全路局(全分局)所有车站的数据。图 4 2)、按站、段统计在下图中可选择所要统计的段级站或者车务段。如果图 4 中的选择是“无”,那么该下拉框中会出现全路局(全分局)的所有段级站以及车务段,如果选择了某条线,那么该下拉框中出现的只有这条线上的段级站以及车务段。图 4 和图 5 的下拉框组合确定的范围就是所要统计的范围。b、填写所要统计的时间在时间范围一栏中填写所要统计的时间范围。要求起止时间都要填写。c、选定所要统计的表格及数据字段并确定统计条件先选定表格,然后双击该表中的某个字段,接着编辑所要统计的条件,确认条件正确(即符合 SQL查询语法)。如果就这一个条件进行统计,可点“统计”按钮进行统计。如果多条件组合统计,可以接着选择下一个字段,继续编辑统计条件,编辑完条件后,确认条件正确无误,单击“统计”按钮进行统计。 图 5 d、输出统计结果并保存第二步点“统计”按钮后将会在如图 6 中出现统计结果,点“保存”可将该结果保存在一个文本文件中。、对某个车站的履历簿数据进行查询利用该功能可以对全路局所有车站的货运设备履历簿数据进行查询。查询步骤如下:a、选择车站点击功能菜单(图 3)中的查询,出现窗口 6,在该窗口中可以用三种不同方式确定一个车站,所有的查询将针对这个车站。三种查询确定车站的方式:首先,在“局/分局”一项中选择某分局,然后再确定车站名1)、按站段别确定车站名如图 6,选中“站段别”一项,然后在左边的下拉框中选择车务段,右边的下拉框中会相应的出现该车务段的所有车站。如果左边的下拉框中选择的是段级站,那么右边的下拉框会自动消失。 图 6 2)、按铁路线确定车站名如图 7,选中“线名”一项,然后在左边的下拉框中选择铁路线,右边的下拉框中会出现全局范围里该条铁路线上的所有车站名,这样就可以选择一个站名。 图 7 3)、按车站名首字母选择站名如图 8,选中车站名称”一项,在文本框中输入你所要查询的车站名的首字母,在文本框的右边会列出所有首字母符合条件的车站名,单击你所要查询的车站名即可。 图 8 b、选择表格及字段选择完车站名后点“确定”进入到下一窗口,如图 9,按图中的提示可选择表格,选择字段。如果没有选择字段或者选择所有字段,那么系统都会自动认为你选择了所有字段。 图 9 c、选择查询时间在第二步中选择完表格后,选择时间一栏中会自动出现该表格所包含的所有时间字段。可在你所要查询的年份前打上对勾,那么查询结果中将只会出现你所选的年份的记录;如果你没有选择年份或选择了所有年份,那么系统会认为你所要查询的是所有年份的记录。d、得出查询结果点击图 9 中的查询后会出现如图 10 的查询结果(仅一部分,另一部分可拉滚动条看到)。 图 10 、有关数据维护功能a、维护全局的所有车务段名、铁路线名、车站名以及车站名首字母 图 11 如图 11,点击功能菜单上的“维护”“济南分局”,可出现如下表格窗口, 图 12 如图 12,在该表格中可任意添加或删除记录或者更改记录的内容。需要注意的是,在车站名一栏中,所有后边带“站”字的车站都是段级站。b、 维护全局的所有货运设备履历簿填写时的可选项 图 13 如图 13,点击功能菜单上的“维护”“履历簿可选项”,进入如下窗口,如图 14。选择某一张表格,然后选择一个可维护的字段。如果要添加内容,点击右边的添加项,在文本框中输入所要添加的内容,点“添加”按钮,该内容自动添加到数据库中。如果要删除内容,点击右边的删除项,选定所要删除的内容,点“删除”按钮,该内容自动从数据库中删除。 图 14 、网上接收、发送数据利用该功能可以接收由全局所有车站上报的数据库文件,然后可以对该数据进行浏览、查询、统计等操作;也可以将分局或者路局的数据传输给各车站或者车务段。(2)、以站、车务段的身份登录如果选择某个车站登录系统,将会出现如下功能菜单(图 15): 图 15 、对履历簿数据进行编辑点击菜单上的编辑,然后选择某一表格,接着出现该表格的编辑浏览窗口,如(图 16)。 图 16 a、 记录的修改用鼠标单击你所要修改的数据所在的单元格,该单元格获得焦点,如图 17, 图 17 可任意改动该单元格的数据。如果该单元格的数据是固定的选项,那么单击该单元格后会出现如图18 所示的下拉框,可在该下拉框中选择所要修改的数据。下拉框中的数据可在以局或者分局身份登录的功能中修改维护。在对某一单元格的数据修改完毕后,可用鼠标单击所要修改的下一个单元格,也可以按回车键使焦点挪到同一行的下一个单元格,当焦点在这一行的结尾时,按回车可使焦点移动到下一行的开始。 图 18 b、记录的添加如果要添加记录,点击“添加”按钮,会出现如图 19 所示,新记录添加到最后一行。接着可以进行新记录的数据录入。 图 19 c、 记录的删除如过要删除某一条记录,可单击该记录的第一列选定整条记录,也可以在除第一列外的任意一个单元格获得焦点时双击它而选定整条记录,然后点“删除”按钮,系统会提示你是否删除,如图 20,选择“是”将会永久的删除该记录,且不能恢复;选“否”将不进行任何操作。 图 20 d、 数据的保存当修改完数据或者添加完记录后,可以点“保存”按钮对数据进行保存,以免丢失。如果某一条记录中任何一个字段都没有填写数据,在保存时,系统会自动把它删除。e、 生成打印报表图 21 数据修改并保存完毕后,可点击“生成报表”按钮,然后在所出现的对话框中确定路径及文件名,如图 3-25,再点“确定”系统会自动生成和该表格完全相同的 EXCEL 报表文件。若想打印该报表文件,可以随时在 EXCEL 中打开该文件,然后打印。、对履历簿数据进行查询 a、选择表格及字段如图 21,按图中的提示可选择表格,选择字段。如果没有选择字段或者选择所有字段,那么系统都会自动认为你选择了该表格的所有字段。b、选择查询时间选择完表格后,选择时间一栏中会自动出现该表格所包含的所有时间字段。可在你所要查询的年份前打上对勾,那么查询结果中将只会出现你所选的年份的记录;如果你没有选择选择年份或选择所有年份,那么系统会认为你所要查询的是所有年份的记录。c、得出查询结果点击图 9 中的查询后会出现如图 10 的查询结果。、网上发送数据利用此功能可以将车站编辑后的数据库文件通过网络直接发送到分局,以便分局领导统计、查询相关数据。操作系统及开发环境功能集成 近年来,网络的迅速普及和应用,促使计算机技术,网络数据传输技术,除了 E-mail、FTP、WWW 等传统的手段以外,电子报刊、远程教学、远程医疗、网上购物、虚拟专网、电子金融、电子贸易等新兴的INTERNET 应用日益发展和成熟起来。INTERNET 对铁路运输部门获取信息的方式和相互交流信息的方式产生了巨大的影响,全新的信息服务将会为铁路运输部门的工作方式及工作效率带来巨大的变化。铁路是国民经济的动脉,建国几十年以来,铁道部逐步建成了四通八达的铁道网,为国家提供了高效、畅通、经济的货运、客运服务,为我国社会稳定、经济繁荣作出了巨大贡献。国家大力发展计算机网络建设的现阶段,要提高铁路部门工作人员在本地、本行业的工作运营效率,充分利用网络强大的数据传输功能以及丰富的通信资源是必要的。要在铁路运输部门间建立 Intranet,充分利用现有资源,实现路局与分局之间,分局与车站之间,以及路局与车站之间的履历簿数据互相传输功能。彻底代替以前铁路运输各部门之间的人工上报软盘的情形。路局数据库车务段数据库分局数据库路局、分局、车务段之间数据互相传输GIS(地理信息系统)是国际上近几年才发展起来的一种新型软件,它是在计算机硬、软设备支持下,实现地理空间数据输入、存储、管理、检索、处理和综合分析的技术系统。它最重要的特点在于把需要研究的数据和反映这些数据地理位置的图形有效结合起来,从而根据应用的需要进行信息的空间分析处理。将 GIS 技术与铁路运输管理相结合,充分发挥先进的 GIS 技术的特点和功能为铁路运输管理系统服务。GIS 是计算机应用领域的一个重要发展方向。对空间信息及其相关的属性信息的处理是 GIS 的基本功能,空间信息的查询和分析是 GIS 和其它数据处理系统的主要区别,迅速、及时地更新数据库,大规模、综合性地管理与地理分布有关的信息是它的特点。应用 GIS 技术是铁道部“十五”规划中的一个重点,也是实现“数字铁路”构想的重要技术组成部分。因此为解决实际问题,适应技术发展方向,基于 GIS 平台以铁路为具体服务对象做二次开发成为本项目的设计思路根源。(4)代码的编写及系统速度的优化高级程序设计语言的特性和编码途径及方法将会决定编码的可靠性、可读性、可测试性和可维护性。编写的代码的目的是实现人和计算机之间的互相通信,最终实现应用软件一定要符合用户需求、方便用户使用的目的。编程人员尽可能的使该管理系统在使用过程中减小对操作系统资源的消耗。选用 VISUAL BASIC 6.0 设计程序,在优化系统速度我们采取了以下措施:首先,优化系统的真实速度方面:1. 选用最佳的数据结构; 2. 避免使用 Variant 变量以及隐式变量; 3. 尽可能的使用常数; 4. 使用内嵌过程替代调用; 5. 尽量使用 ByVal 传替参数,而不使用 ByRef 等。 其次,在优化显示速度方面:1. 、恰当的使用 AutoRedraw; 2. 、设置属性时隐藏控件,以避免多次重画; 3. 、用 Image 控件代替 PictureBox 控件; 4. 、将容器的 ClipControls 属性设为 False 等。 第三,在优化感觉速度方面:1. 隐藏窗体而不卸载窗体; 2. 使用进度指标器和等待光标; 3. 加快应用程序的启动速度; 4. 预加载需读取的数据等。 (5)系统的试用及测试在济南分局部分车站已经开始试用该系统。首先在一个相对较小的范围里进行测试使用。选取一个车务段,然后选取分局,路局,分别安装该系统。由不同的用户分别操作,实现了履历簿的记录添加、删除、保存以及报表生成等功能;而且成功的实现了车务段、分局、路局之间数据的互相传输。该系统受到现场用户的一致好评。(6)系统的维护功能设备履历管理信息系统中包括客、货运管理两套系统。两套系统采用了相同的路局、分局、车务段以及车站名数据库,该数据库中的车站被划分为三种不同的范围。分别是分局、车务段、铁路线。不同的用户级别有不同的维护功能。比如路局可以维护所有的分局名、车务段名,铁路线名以及车站名;分局可以维护分局内的所有车务段名、铁路线名以及车站名。程序源代码定义读取 ini 文件的 API 函数Public Declare Function GetPrivateProfileInt Lib “kernel32“ Alias “GetPrivateProfileIntA“ (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As LongPublic Declare Function GetPrivateProfileString Lib “kernel32“ Alias “GetPrivateProfileStringA“ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPublic Declare Function WritePrivateProfileString Lib “kernel32“ Alias “WritePrivateProfileStringA“ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As LongPublic db As DatabasePublic rst As RecordsetPublic strLoginBureaName As String 登陆的分局名Public strSuoshuxian As String 如果是车站登陆,将登陆时所属的铁路线从数据库中读出来Public strStationName As String 小站或者站管站中低一级的车站Public strCwdName As String 车务段或者站管站中高一级的车站Public strDatabaseName As String 数据库名称Public NeedSaveLocal(1000, 1000) As BooleanPublic IsColorTurn As Boolean 颜色是否转变,是否选中整条记录Public LoginStationName As StringPublic LoginStation As StringPublic YearTj() As StringPublic Pathname As String 生成报表时所存储的全路径Public SelectedYear As StringPublic TableNameSelected As String 所选择表格的名字Public G_CurrentTableName As String 浏览编辑时所选择的表格Public StrLogin As String 从 config.ini 中读取的字符串Public IsNoQuery As Boolean 是否是查询所调用的窗体Public CurrentYear As String 当前年份Public G_DbStationData As Database 定义打开车站的数据库Public G_RstStationData As Recordset 定义车站数据集Public G_CurrentYear As StringPublic Enum G_Distinction 用枚举型变量定义登陆的级别luju = 1fenju = 2chewuduan = 3duanjizhan = 4xiaozhan = 5End EnumPublic Function ReturnFileName(ByVal PathFileName As String) As StringDim FNLen As IntegerDim i As IntegerDim temp As StringFNLen = Len(PathFileName)If Right(PathFileName, 1) = “/“ ThenReturnFileName = “/“Exit FunctionEnd IfFor i = 0 To FNLen - 1temp = Mid(PathFileName, FNLen - i, 1)If temp = “ ThenReturnFileName = Right(PathFileName, i)Exit FunctionEnd IfNext iEnd FunctionPublic Function FindWeihuPath(strPath As String) As String查询 Weihu 路径IntPathEnd = InStrRev(strPath, “)IntPathEnd = IntPathEnd - 1strCurrentPath = Mid(strPath, 1, IntPathEnd)strCurrentPath = strCurrentPath & “weihu“FindWeihuPath = strCurrentPathEnd Function 从数据库中按照年份条件和车站名条件取出将要在网格中显示的记录集Public Sub SelectCondition()Dim StrYear As String 定义当前年份Dim strSQL As String 定义 SQL 语句读取当前的年份StrYear = Left(Format(Date, “LONG DATE“), 4)如果以车站的身份登陆的话strSQL = “SELECT * FROM “ & G_CurrentTableName & “ WHERE P01=“ & StrYear & “Set G_RstStationData = G_DbStationData.OpenRecordset(strSQL)End Sub从查询窗口所选择的表格中按照查询条件取出记录集Public Sub QueryCondition()Dim StrYear As String 定义当前年份Dim strSQL As String 定义 SQL 语句读取当前的年份StrYear = Left(Format(Date, “LONG DATE“), 4)如果以车站的身份登陆的话strSQL = “SELECT * FROM “ & G_CurrentTableName & “ WHERE (“ & SelectedYear & “) and cz=“ & strStationName & “ ORDER BY P01“Set G_RstStationData = G_DbStationData.OpenRecordset(strSQL)End SubPublic Sub FindLastRecAndCopyToCurrentYearRec()查找当前年的记录,如果不存在则复制上一年的记录,如果上一年不存在,则手动输入If G_RstStationData.RecordCount = 0 ThenByValMsgbox = MsgBox(“没有今年的信息,是否复制上一年的内容?“, 0 + vbYesNo, “提问“)If ByValMsgbox = vbYes ThenSet G_RstStationData = G_DbStationData.OpenRecordset(“select * from “ & G_CurrentTableName & “ where P01=“ & CStr(CInt(Left(G_CurrentYear, 4) - 1) & “ and cz=“ & strStationName & “)If G_RstStationData.RecordCount = 0 ThenMsgBox “没有上一年的记录,请手动输入今年的设备信息!“, 0 + vbInformation, “提示“Exit SubEnd IfG_DbStationData.Execute “INSERT INTO “ & G_CurrentTableName & “ select * from “ & G_CurrentTableName & “ WHERE P01=“ & CStr(CInt(Left(G_CurrentYear, 4) - 1) & “ and cz=“ & strStationName & “Set G_RstStationData = G_DbStationData.OpenRecordset(“select * from “ & G_CurrentTableName & “ WHERE P01=“ & CStr(CInt(Left(G_CurrentYear, 4) - 1) & “ and cz=“ & strStationName & “)G_RstStationData.MoveLastFor i = G_RstStationData.RecordCount To G_RstStationData.RecordCount / 2 + 1 Step -1 G_RstStationData.EditG_RstStationData.Fields(4).Value = Left(G_CurrentYear, 4)G_RstStationData.UpdateG_RstStationData.MovePreviousNextElseExit SubEnd IfEnd Sub将从数据库中读出的数据,显示在网格中Public Sub BrowseData(ByVal Fg As MSFlexGrid, ByVal rec As Recordset)On Error Resume NextDim strSqls As StringDim CountRows As IntegerDim CountCols As IntegerDim ByValMsgboxIf IsNoQuery = True Then打开查询结果数据集QueryConditionElse打开编辑表格数据集SelectCondition查找是否有今年的记录,如果没有,则复制上一年的如果上一年没有,则手动输入当前年的记录FindLastRecAndCopyToCurrentYearRecSelectConditionEnd If数据集移动至尾,然后至头G_RstStationData.MoveLastG_RstStationData.MoveFirstCountRows = G_RstStationData.RecordCountCountCols = G_RstStationData.Fields.Count - 4With FgIf CountR

温馨提示

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

评论

0/150

提交评论