智能电表收费管理系统Word格式文档下载.docx
《智能电表收费管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《智能电表收费管理系统Word格式文档下载.docx(46页珍藏版)》请在冰豆网上搜索。
tariffmanagement,visualbasic,Access,thedatabase
第一章引言
1.1课题背景
传统的电费治理差不多上由工作人员手工查表,抄表完成的,其中要完成用户电费的收取,每月抄度,用户购电情形查询,以及列出欠费用户的信息名单,之类的信息.其工作强度大,工作流程繁琐,由于工作人员的不细心,将会造成电费收支的出错也是经常发生的.鉴于以上缘故我们有必要开发一种帮作电费治理人员的软件系统,能够完成检查用户用电情形,每月抄度,信息录入以及差不多数据爱护的各项功能.本系统采纳visualbasic6.0与微软Access数据库方式.界面尽量做到人性化,数据爱护方面做到可靠安全.
1.2系统简介
本系统要紧由以下几大功能模块组成:
一.用户交费:
(交纳电费,本日小节)
二.本月抄度:
(单户抄度多户抄度)
三.资料导出(全部清单,欠费清单)
四.数据查询(电费查询与统计,用户欠费查询)
五.信息录入(资料录入,资料修改,资料删除)
六.系统数据爱护(数据备份,数据复原)
七.差不多数据爱护(用户类型爱护,操作员爱护)
八.关心
九.退出
第二章系统的分析
2.1系统开发的目标和思想
本系统要紧服务于电费治理人员的日常工作.设计思路要紧参照工作人员抄表,记录资料,资料治理,信息录入等方面的工作流程展开的.
2.2系统的可行性分析
本系统采纳visualbasic6.0与微软的access作为数据库结合.在系统编写上具有可行性.
经济方面:
本系统能够服务电厂,电费治理单位,为企业节约人力开支.
社会方面:
服务于大众,方便抄表人职员作,可靠方便.
第三章系统的设计
3.1系统的功能结构设计
3.2系统的数据库设计
1.用户类型表:
字段名称
数据类型
说明
ATypeID
自动编号
AType
文本
电费类型
UNITPRICE
货币
Adate
日期/时刻
电费设置日期
2.密码表:
姓名
操作权限
密码
3.MaxID表:
数据说明
TableName
MaxID
数字
3.3界面设计与代码设计
1.用户登陆界面设计:
3.4界面设计与代码设计
用户登陆界面代码分析:
PrivateSubCommand1_Click()
DimrstpchardAsNewADODB.Recordset
DimreHardAsString
DimgetidAsString
reHard=GetpcHard(getid)
rstpchard.Open"
select*fromgetpchard"
gCnn,adOpenKeyset,adLockBatchOptimistic
Ifrstpchard.RecordCount=0Then
rstpchard.AddNew
rstpchard.Fields(0)=reHard
rstpchard.UpdateBatchadAffectCurrent
Else
IfTrim(reHard)<
>
Trim(rstpchard.Fields(0))Then
MsgBox"
对不起,使用不合法请与开发者联系!
"
vbInformation
End
EndIf
EndIf
IfCheck1.Value=1Then
Setrec=NewADODB.Recordset
rec.Open"
select*from记住密码"
gCnn,3,3
rec("
标记"
)="
1"
IfCombo2.Text<
"
Then
姓名"
)=Combo2.Text
IfCombo1.Text<
权限"
)=Combo1.Text
IfText2.Text<
密码"
)=Text2.Text
rec.Update
rec.Close
0"
Dimrec1AsADODB.Recordset
Setrec1=NewADODB.Recordset
rec1.Open"
select*from登录人员"
select*from密码表where姓名='
&
Combo2.Text&
'
and操作权限='
Combo1.Text&
and密码='
Text2.Text&
Ifrec.EOF=FalseThen
Ifrec("
操作权限"
)<
治理员"
FRMMAIN.XZCK.Enabled=False
MDIme.mczy.Enabled=False
MDIme.xtwh.Enabled=False
MDIme.del.Enabled=False
FRMMAIN.DJGL.Enabled=False
FRMMAIN.delte.Enabled=False
Else
'
Me.XZCK.Enabled=True
MDIme.mczy.Enabled=True
MDIme.xtwh.Enabled=True
CreateNewKeyHKEY_CURRENT_USER,"
ZhiYuanTechnologe"
SetKeyValueHKEY_CURRENT_USER,"
"
UserName"
dlj,REG_SZ
PassWord"
FRMMAIN.DJGL.Enabled=True
FRMMAIN.delte.Enabled=True
rec1("
rec1.Update
rec1.Close
Me.Hide
Guser=Combo2.Text
MDIme.Show
权限或密码不正确,请重试!
EndSub
PrivateSubCommand11_Click()
PrivateSubCommand2_Click()
Combo2.Text="
Text2.Text="
Combo1.Text="
PrivateSubCommand3_Click()
End
PrivateSubCommand4_Click()
Me.Hide
FRMMMXG.Show1
PrivateSubForm_Activate()
Ifrec("
Orrec("
Check1.Value=rec("
)
)=1Then
Combo2.Text=rec("
Combo1.Text=rec("
Text2.Text=rec("
Command1.SetFocus
PrivateSubForm_Load()
gCnn.ConnectionString="
Provider=Microsoft.Jet.OLEDB.4.0;
JetOLEDB:
databasepassword="
DbPassword&
;
DataSource="
_
App.Path&
\data\dbdb.mdb;
PersistSecurityInfo=False"
gCnn.CursorLocation=adUseClient
gCnn.Open
selectdistinct姓名from密码表"
WithCombo2
DoUntilrec.EOF
.AddItemrec("
rec.MoveNext
Loop
EndWith
Setrec=Nothing
PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)
Cancel=True
SelectCaseMsgBox("
此操作将退出本系统,连续吗?
vbYesNo,"
警告"
CasevbYes
Cancel=False
CaseElse
EndSelect
2.主界面设计:
主界面代码设计:
PrivateSuballlm_Click()
frmList.qfFlg=False
frmList.Show
PrivateSubbackup_Click()
frmbeifen.Show
PrivateSubbenrixiaojie_Click()
frmCount.Show
frameFee.Visible=False
PrivateSubcmdQuery_Click()
DimrstAsNewADODB.Recordset
rst.Open"
select*frompanelinfowhereholder='
Me.txtUser&
anddelflag<
true"
gCnn,adOpenStatic,adLockBatchOptimistic
Ifrst.RecordCount<
0Then
dcvalue.Text=rst.Fields
(2)
txtUserName(0)=rst.Fields
(1)
txtUserName
(1)=rst.Fields!
nowecount
txtUserName
(2)=rst.Fields!
cendcode
dtpwdate.Value=rst.Fields(4)
txtUserName(3)=Format(rst.Fields!
lMoney,"
###0.00"
txtUserName(4)=Format(rst.Fields!
bmoney,"
txtUserName(6)=Format(rst.Fields!
lsFee,"
txtUserName(5)=txtUserName
(1)*rst.Fields!
lMoney*(rst.Fields!
lightScale/100)+txtUserName
(1)*txtUserName(4)*(1-rst.Fields!
lightScale/100)
txtUserName(5)=Format(txtUserName
(1)*rst.Fields!
lightScale/100)+rst.Fields!
nowecount*rst.Fields!
bmoney*(1-rst.Fields!
lightScale/100),"
txtUserName(8)=rst.Fields(9)
txtUserName(7)=Format(Val(txtUserName(5))+Val(txtUserName(6)),"
####0.00"
dcNum.Text=rst.Fields
(1)
没有查询到数据!
rst.Close
Setrst=Nothing
PrivateSubdcNum_Click(AreaAsInteger)
select*frompanelinfowhereholderid='
dcNum.Text&
anddelflag<
IfNotrst.EOFThen
txtUserName(6)=Format(rst.Fields(8),"
txtUserName(5)=Format(txtUserName
(1)*txtUserName(3)*(rst.Fields!
PrivateSubdcvalue_Click(AreaAsInteger)
dcvalue.BoundText&
PrivateSubdcvalue_KeyPress(KeyAsciiAsInteger)
KeyAscii=0
PrivateSubdel_Click()
frmdel.Show
PrivateSubdhcb_Click()
usrcopyP.Show
PrivateSubdhcp_Click()
frmCopyP.Show
PrivateSubduohu_Click()
frmCuifei.muser1=2
frmCuifei.Show
PrivateS