水电费管理系统_第1页
水电费管理系统_第2页
水电费管理系统_第3页
水电费管理系统_第4页
水电费管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、水电费管理系统的设计04级计算机系 经济信息管理与计算机应用专业学生:尹维斌 杜磊指导老师:胡晓旭起讫日期:2006.122007.5摘 要 当今社会是一个信息社会也是一个知识经济的时代。自从世界上第一台计算机eninc(electronic numerical integrator and calculator)于1946年在美国问世到现,信息产业的发展突飞猛进。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。水电费管理系统是典型的信息管理系统(mis),是一个实用的管理信息系统,管理员可以通过相应的模块,对数据库

2、中的信息进行更新、删除和查询,对水电基本用量信息报表生成,对使用该系统的管理员信息进行更新、删除,还有密码修改,数据备份与系统恢复等其他系统管理功能。因为本系统具有高透明性,所以相关用户可以对水电使用缴费信息以及资费信息进行查询。通过本系统的应用,可以加强对水电使用信息的管理,减轻管理员的工作负担,提高工作效率。我们能看出,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地。【关键词】信息 管理系统 计算机管理引言随着社会经济的发展,信息化程度的不断深入,小区的水电费管理工作己愈来愈不能满足用户的需要。现今,人们的金融意识、科技意识己经有了很大的提高

3、,在紧张忙碌的生活中,希望能尽快交费和查询;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二也是为了希望减轻自己日趋繁重的工作量,都在开发自己的管理系统。如何利用计算机技术加强用户信息管理、进行业务再造,提高工作效率和业务竟争能力是摆在各面向用户服务面前的一个迫切需要解诀的问题。如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个管理者所要研究的课题。1.1系统开发的意义 随着社会的不断进步和科学技术的增强,二十一世纪的计算机技术将飞速发展,信息化已成为当今世界的发展潮流,计算机代替人工劳动将成为必然,人类追求更简便的

4、工作方式,因此计算机的应用则更加重要。现今,我国的计算机技术高速发展,针对不同的方面,已经有一些软件应运而生,虽然针对企业内部的管理系统也有许多,但也有其相应的优点、缺点。本客户访问信息管理系统是针对对计算机技术不太熟悉的用户而开发的,上手简单,可操作性强。信息管理系统(management information systems,简称mis)在现代社会已深入到各行各业,mis是一个不断发展的新科学,mis的定义随着计算机技术和通信技术的进步也在不断更新,现阶段普遍认为mis是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统。mis的对象是信息。信息是经过加工的数据,信息是对决策者有

5、价值的数据。信息的主要特点是来源分散,数量庞大。因此,mis是不可缺少的。管理信息系统(mis)的概念是1961年美国人j.d.gallagher首先提出来的,是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是企业中信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。目前,公司、企业和机关的计算机化管理已经逐渐普及了,计算机技术已经深入到企业的管理的各个方面,因此企业信息化建设也要赶上时代的步伐。目的是为了减轻事务处理人员的劳动强度,辅助企业管理,辅助高层领导决策,提高企业的工作效率,从而使企业能够以少的投入获得更好的社会效

6、益与经济效益。1.2系统开发的理由随着计算机技术的迅速发展,企业计算机技术使用的兴起,管理工作也经历了由原始手工操作方式到计算机查询、管理的自动化管理方式的转变。愈来愈多的企业逐渐意识到管理技术的重要性、必要性,并逐步引进稳定性好、安全机制高、方便管理的管理系统。客户信息管理就是其中的一部分。所以运用计算机的自动化管理,将是以后的发展方向。1.3开发工具的选择本系统采用的是vb6.0软件开发系统,后台数据库采用的是access 2000数据库。在windows xp环境下完成。使用visual basic开发应用程序的两个主要思想:1、可视设计2、事件驱动编程visual basic应用程序不

7、同于其他语言开发的单一性程序。使用visual basic编程时,必须首先确定应用程序如何与用户交互,如鼠标单击,用户必须编写代码控制这些事件的响应方法。visual basic是一种可视化应用程序开发工具,其短小精悍,且提供的一大堆现成的数据库操作控件。功能虽不及vc的强大,但具体到数据库开发方面vb就有其独到的优势。vb在这方面的所具备优势使其快速、简单和功能完善。且从程序执行效率和通用性角度考虑,vb相对占有一定的优势,因为一个系统不仅仅就操纵数据库这么简单,它还包括界面设计及其他必要信息的获取与输出。管理信息系统的核心是数据。其价值主要体现在对数据或信息的使用上。用户通过应用程序将管理

8、过程中产生的数据输入数据库,使得不同用户可根据需要查询或按相应的业务规则附加上他们自己的数据,从而做到按照一定管理规则和制度的信息资源共享。我们选择的access数据库是目前比较流行的小型桌面数据库管理系统。整个系统有数据库文件和数据库管理系统两大部他构成。后台的access 2000数据库文件是集中存储并管理分类人事档案信息的大本营,而前台的数据库管理系统是用来为数据库中的各种资料进行各种基本操作和管理。数据库的主要特点(数据库中的每一个表都必须符合下面几个特征):1、表中的每一个单元的内容只有一个值2、所有字段的名称都不同3、记录的前后次序和字段的左右次序可以变化,不受限制4、数据库中的表

9、的上下次序不受限制5、表中不应有内容完全相同的记录6、表中的每一个字段都必须有相同的数据类型1.4系统实现的功能 本系统是可实现,输入数据,查询数据,用户登录,查看报表,修改密码,备份和恢复数据库。能大大提高小区水电费收取的效率,且便于管理维护。2.1系统设计系统流程图显示启动界面用户登录用户及密码正确吗?显示系统主窗口用户信息输入用户信息管理水电费信息输入水电费信息管理用户信息查询水电费查询密码修改交费情况统计数据备份月总各项统计数据恢复计算器相关资迅关于yesno2.2系统中的窗体模块1. 系统启动界面(frmstrart.frm)启动界面用于显示开发人员名单和开发日期等。2. 登录窗体(

10、frmlogin.frm)提供用户登录界面,限制访问。3. 系统主窗体(frmmain.frm)这是本系统的主窗体,带有系统菜单,系统的主要操作都在这里进行。4. 用户信息输入窗体(frmnew.frm)用于输入每位用户的基本数据。5. 用户信息管理窗体(frmgl.frm)用于修改用户的基本数据。6. 水电费数据输入窗体(frmsdin.frm)用于输入每们用户的水电费数据,以及计算出本月的水电费。7. 水电费数据管理窗体(frmsdgl.frm)用于修改用户水电费数据。8. 用户信息查询窗体(frmyhcx.frm)按区域对用户基本信息进行查询。9. 水电费查询窗体(frmsdcx.frm

11、)按月份对用户水电费情况查询。10. 计算器窗体调用windows计算器,计算费用,方便核查。11. 交费情况统计窗体(frmmoney.frm)快速查询出每位用户的交费情况.12. 月总各项统计窗体(frmtj.frm)直观的查询出总用水量,总用电量等数据。13. 用户密码修改窗体(frmpwupdate.frm)可对用户密码进行修改,提高安全度。14. 数据备份窗体(frmcopy.frm)可对本系统的数据库进行备份,保障数据库的安全。15. 数据恢复窗体(frmbackup.frm)可对损坏的数据库进行恢复,从而能正常使用系统。16. 相关资迅窗体(form2.frm)用户关心的一些资迅

12、信息。17. 关于窗体(frmabout.frm)显示开发人员名单等信息。2.3系统中的数据库及数据表密码表字段名类型长度useid文本10password文本10用户表字段名类型长度id文本10name文本10address文本50tel文本15date文本15bank文本10bankid文本15quyu文本10about文本50区域表字段名类型长度area文本10交费情况表字段名类型长度money文本15水电费表字段名类型长度id 文本15name文本15month文本15water数字/单精度型4electric数字/单精度型4water_p数字/单精度型4electric_p数字/单精

13、度型4water_cost数字/单精度型4electric_cost数字/单精度型4月份表字段名类型长度month文本152.4主要模块的设计 主要由输入模块,数据管理模块,数据查询模块,系统管理模块构成。2.4.1用户登录窗体的设计在窗体中加入data控件data1,将databasename属性动态设置为:“水电费管理系统数据库”,recordsouce设置为“密码表”,visible设置为false。再添加其它各控件。用户名称的textbox名称为:t_id密码的texbox名称为:t_password提示用控件label3来显示。窗体中加入了代码,使窗口大小不能改变。为方便输入,当输完

14、用户名时按回车焦点可以到密码栏中,输完密码后,按回车就可以进行登录了。具体代码如下:dim myheight, mywidth as integer 保持窗体大小的相关声明private sub command1_click() 检查用户名和密码if t_id.text = and t_password.text = then label3.caption = 请输入用户名和密码!else if t_id.text = then label3.caption = 请输入用户名! t_id.setfocus else if t_password.text = then label3.captio

15、n = 请输入密码! t_password.setfocus else dim user as string user = useid= & & trim(t_id.text) & and + password= & & trim(t_password.text) & data1.recordset.findfirst user if data1.recordset.nomatch then label3.caption = 没有该用户,或密码错误! exit sub else frmmain.show frmpwupdate.label5.caption = t_id.text 记录传递用户

16、名 unload me unload form1 end if end if end ifend ifend subprivate sub command2_click() endend subprivate sub form_load() mywidth = me.width 保持窗体大小 myheight = me.height data1.databasename = app.path + 水电费管理系统数据库.mdb 动态设置数据库 data1.recordsource = 密码表end subprivate sub form_resize() me.height = myheight

17、 保持窗体大小 me.width = mywidthend subprivate sub t_id_keypress(keyascii as integer) if keyascii = 13 then sendkeys tab 用户名框中按回车,焦点移至密码文本框end subprivate sub t_password_keypress(keyascii as integer) if keyascii = 13 then command1_click 输完密码后,按回车,等同于按确定按钮end sub2.4.2与之对应的用户密码修改窗体本窗体中添加了data控件data1, 将databa

18、sename属性动态设置为:“水电费管理系统数据库”,recordsouce设置为“密码表”,visible设置为false。再添加其它各控件,名称都用默认名。由登录窗体传递来的用户名会显示在窗体上方,这时可以进行密码的修改了。同样的,这个窗体的大小也不能改变,也进行了关于焦点的控制。具体代码如下:dim myheight, mywidth as integer 保持窗体大小的相关声明private sub command1_click() if text1.text = and text2.text = and text3.text = then 密码更新检测 msgbox 你没有输入更新信

19、息!, , 提示 else if text1.text = then msgbox 请输入原密码!, , 提示 else if text2.text = then msgbox 请输入新密码!, , 提示 else if text3.text = then msgbox 请确认你的新密码!, , 提示 else if text2.text text3.text then msgbox 你两次输入的密码不同,请重新输入!, , 提示 text2.text = text3.text = text2.setfocus else dim password as string password = pa

20、ssword= & & trim(text1.text) & data1.recordset.findfirst password if data1.recordset.nomatch then msgbox 你输入的原密码有误!, , 提示 else data1.recordset.addnew data1.recordset.fields(useid) = label5.caption data1.recordset.fields(password) = text2.text data1.recordset.update data1.recordset.delete msgbox 你已经成

21、功的更换了新密码,请使用新密码!, , 提示 end if end if end if end if end ifend ifend subprivate sub command2_click() unload meend subprivate sub form_load() mywidth = me.width 保持窗体大小 myheight = me.height data1.databasename = app.path + 水电费管理系统数据库.mdb data1.recordsource = 密码表end subprivate sub form_resize() me.height

22、= myheight 保持窗体大小 me.width = mywidthend subprivate sub text1_keypress(keyascii as integer) if keyascii = 13 then sendkeys tab 原密码框中按回车,焦点下移end subprivate sub text2_keypress(keyascii as integer) if keyascii = 13 then sendkeys tab 新密码框中按回车,焦点下移end subprivate sub text3_keypress(keyascii as integer) if

23、keyascii = 13 then command1_click 此框中按回车,等同于按确定按钮end sub2.4.3主窗体的设计在工程中添加新窗体后,保存为frmmain.frm,打开“菜单编辑器”,设计出系统的菜单,具体参看程序。系统主窗体,是本程序的枢纽,其它窗体都要在,这个窗口中运行打开。为美观,先添加了一个picturebox控件,在其中加入一图片。具体代码如下:private sub mnu_about_click() frmabout.show 打开“关于”窗口end subprivate sub mnu_com_click() shell c:windowssystem32

24、calc.exe 调用windows计算器end subprivate sub mnu_e_click() frmsdin.show 打开“水电费数据输入“窗口end subprivate sub mnu_egl_click() frmsdgl.show 打开“水电费数据管理”窗口end subprivate sub mnu_end_click() end 退出end sub private sub mnu_g_copy_click() frmcopy.show 打开“数据备份”窗口end subprivate sub mnu_g_h_click() frmbackup.show 打开“数据恢

25、复”窗口end subprivate sub mnu_gl_click() frmgl.show 打开“用户信息管理”窗口end subprivate sub mnu_montt_click() frmmoney.show 打开“交费情况统计”窗口end subprivate sub mnu_password_click() frmpwupdate.show 打开“用户密码修改”窗口end subprivate sub mnu_qry_e_click() frmsdcx.show 打开“水电费查询”窗口end subprivate sub mnu_qry_w_click() frmyhcx.s

26、how 打开“用户信息查询”窗口end subprivate sub mnu_tj_w_click() frmtj.show 打开“月总各项统计”窗口end subprivate sub mnu_water_click() frmnew.show 打开“用户信息输入”窗口end subprivate sub mnu_zixun_click() form2.show 打开“相关资迅”窗口end sub以上全部是点击菜单对应要打开的窗体代码。2.4.4数据输入窗体 这里以水电费数据输入窗体说明,用户信息输入窗体与其类似,具体参看程序。本窗体中,主要的数据区的textbox与水电费管理系统数据库中的

27、“水电费表”绑定。在输入数据前,先要对当前设置区域进行填写,这样可以减少输入,提高效率及出错几率,其中给出了相关格式。设置后,按增加按钮,文本框成为可编辑状态,就可以填写数据了,而在当前设置中的项,已自动加入对应的框中,实现了自动输入。水费和电费项,不用人工干预,自动计算出费用,完成所有后,这时的“增加”按钮中早已变成为“确定”按钮,点击“确定”,数据将加入到数据库中,输入功能实现。具体代码如下:private sub command1_click() text1.enabled = true text2.enabled = true text3.enabled = true text4.en

28、abled = true text5.enabled = true text6.enabled = true text9.enabled = true text1.setfocus command3.enabled = true command2.visible = true command1.visible = false data1.recordset.addnew text5.text = trim(text10.text) 设置完水电价格及月份后,自动填入表格中,减少输入,提高效率 text6.text = trim(text11.text) text9.text = trim(tex

29、t12.text)end subprivate sub command2_click() on error goto noupdate command1.default = true if trim(text1.text) = then msgbox 用户代码不能为空!, , 警告 text1.setfocus else prompt = 真的新增该条记录吗? answer = msgbox(prompt, vbokcancel, 提示) if answer = vbok then dim wa as single, wb as single, ea as single, eb as sing

30、le 对费用进行计算并更新数据库 wa = trim(text3.text) wb = trim(text5.text) text7.text = wa * wb ea = trim(text4.text) eb = trim(text6.text) text8.text = ea * eb data1.recordset.update data1.recordset.movelast else data1.recordset.cancelupdate end if command2.visible = false command1.visible = true text1.enabled =

31、 false text2.enabled = false text3.enabled = false text4.enabled = false text5.enabled = false text6.enabled = false text7.enabled = false text8.enabled = false text9.enabled = false end if command3.enabled = false exit subnoupdate: msgbox 请填写所有信息!, , 提示 exit subend subprivate sub command3_click() d

32、ata1.refresh command2.visible = false command1.visible = trueend subprivate sub command4_click() unload meend subprivate sub data1_reposition() dataid = data1.recordset.absoluteposition + 1 当前记录改变后,显示当前记录号 label20.caption = 第 & str(dataid) & 条记录end subprivate sub form_load()data1.databasename = app.

33、path + 水电费管理系统数据库.mdb data1.recordsource = 水电费表 text1.enabled = false text2.enabled = false text3.enabled = false text4.enabled = false text5.enabled = false text6.enabled = false text7.enabled = false text8.enabled = false text9.enabled = false command2.visible = falseend sub2.4.5用户信息查询 水电费查询与其类似,具

34、体参看程序。本窗体中,由两个data控件,分别为data1和data2,其中data1与数据库中的“用户信息表”绑定,data2与数据库中的“区域表”绑定。为了查看多条数据,使用了msflexgrid控件,它与data1连接。这样通过对combo控件的点击,进行选择区域,实现不同区域的用户的快速查询。msflexgrid控件的allowuserresizing设置为3,可以根据信息的多少,产生拖动条,方便查看。具体代码如下:private sub combo1_click()if trim(combo1) 全部区域 thendata2.recordset.movefirstdata2.reco

35、rdset.findfirst area like & & trim(combo1) & data1.recordsource = select id as 用户代码,name as 姓名,address as 住址,tel as 电话,bank as 开户行,date as 登记日期,about as 备注 from 用户表 where quyu = & data2.recordset.area & data1.refreshelsedata1.recordsource = select id as 用户代码,name as 姓名,address as 住址,tel as 电话,bank a

36、s 开户行,date as 登记日期,about as 备注 from 用户表data1.refreshend ifend subprivate sub command1_click() unload meend subprivate sub form_activate()combo1.clearcombo1.additem 全部区域combo1.text = 全部区域data2.recordset.movefirstdo while not data2.recordset.eofcombo1.additem data2.recordset.areadata2.recordset.movene

37、xtloopdata1.recordsource = select id as 用户代码,name as 姓名,address as 住址,tel as 电话,bank as 开户行,date as 登记日期,about as 备注 from 用户表data1.refreshend subprivate sub form_load() data1.databasename = app.path + 水电费管理系统数据库.mdb data1.recordsource = 用户表 data2.databasename = app.path + 水电费管理系统数据库.mdb data2.record

38、source = 区域表end sub2.4.6统计报表 这里用“月总各项统计”窗体来说明,“交费情况统计”与其相类似,具体参看程序。本窗体中,同样也使用两个data控件,分别与水电费表和月份表相绑定,这里利用数据库语句对字段进行了计算,从而达到统计效果。msflexgrid控件与data1连接,显示查询信息。具体代码如下:private sub combo1_click() if trim(combo1) 全部月份 thendata2.recordset.movefirstdata2.recordset.findfirst month like & & trim(combo1) & data

39、1.recordsource = select count(*) as 用户数,sum(water) as 总用水量,sum(electric) as 总用电量,sum(water_cost) as 总应收水费,sum(electric_cost) as 总应收电费 from 水电费表 where month = & data2.recordset.month & data1.refreshelsedata1.recordsource = select count(*) as 用户数,sum(water) as 总用水量,sum(electric) as 总用电量,sum(water_cost

40、) as 总应收水费,sum(electric_cost) as 总应收电费 from 水电费表data1.refresh 对字段进行求和运算end ifend subprivate sub command1_click() unload meend subprivate sub form_activate()combo1.clearcombo1.additem 全部月份combo1.text = 全部月份data2.recordset.movefirstdo while not data2.recordset.eofcombo1.additem data2.recordset.monthda

41、ta2.recordset.movenextloopdata1.recordsource = select count(*) as 用户数,sum(water) as 总用水量,sum(electric) as 总用电量,sum(water_cost) as 总应收水费,sum(electric_cost) as 总应收电费 from 水电费表data1.refreshend subprivate sub form_load() data1.databasename = app.path + 水电费管理系统数据库.mdb data1.recordsource = 水电费表 data2.data

42、basename = app.path + 水电费管理系统数据库.mdb data2.recordsource = 月份表end sub2.4.7数据备份与恢复在信息管理系统中,数据库的维护是很重要的环节,用户各项信息的保存是重中之重,所以,对数据库的备份是必然。两个窗体都用动态路径指定,用于不同的计算机,并使用了progressbar控件来显示,备份与恢复过程,显得更加专业,直观得知系统工作情况。对于数据库的备份与恢复,这里调用了windows的api函数,可以达到预期效果,并且不会受到长文件名的限制,与调用dos命令相比,好处多多。具体代码如下:备份窗体代码:调用windows api函数,函数声明private declare function copyfile lib kernel32 alias copyfilea (byval lpexistingfilename as string, byval lpnewfilename as string, byval bfailifexists as long) as longprivate sub command1_click

温馨提示

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

评论

0/150

提交评论