,-2,Date)
EndSub
PrivateSubCombo2_Click()
'下拉框选择部门
DimsbdmrsAsRecordset
'根据所选部门插入设备Combo3
Combo3.Clear
Setsbdmrs=NewRecordset
sbdmrs.CursorLocation=adUseClient
sbdmrs.CursorType=adOpenKeyset
sbdmrs.Open"select*fromsbbhwherebmm='"&Mid(Trim(Combo2.Text),1,2)&"'",cn,adOpenKeyset,adLockOptimistic
Ifsbdmrs.RecordCount=0Then
MsgBox"您所选择的部门无计算机或请在机站配置中输入该计算机的信息。",vbInformation,"提示"
ExitSub
EndIf
sbdmrs.MoveFirst
DoWhileNotsbdmrs.EOF
Combo3.AddItemsbdmrs!SBM&sbdmrs!sbmc
sbdmrs.MoveNext
Loop
sbdmrs.Close
Setsbdmrs=Nothing
Text3(0).Text=Mid(Trim(Combo2.Text),1,2)
Combo2.Visible=False
EndSub
PrivateSubfulltree()
'填充列表
ResumeNext
TreeView1.Nodes.Clear
DimnodeXAsNode
DimbxsrqtempAsString
DimtvrsAsRecordset
Settvrs=NewRecordset
tvrs.CursorLocation=adUseClient
Dimtvrs1AsRecordset
Settvrs1=NewRecordset
tvrs1.CursorLocation=adUseClient
tvrs.Open"selectdistinctbxsrqfromwxrzorderbybxsrqdesc",cn,adOpenKeyset,adLockOptimistic
tvrs.MoveFirst
DoUntiltvrs.EOF
bxsrqtemp=Trim(tvrs.Fields("bxsrq"))
SetnodeX=TreeView1.Nodes.Add(,,,bxsrqtemp,2,1)
tvrs1.Open"selectsbbhfromwxrzwherebxsrq='"&bxsrqtemp&"'",cn,adOpenKeyset,adLockOptimistic
tvrs1.MoveFirst
DoUntiltvrs1.EOF
TreeView1.Nodes.AddnodeX,tvwChild,,tvrs1.Fields("sbbh"),3,3
tvrs1.MoveNext
Loop
tvrs1.Close
Settvrs1=noting
tvrs.MoveNext
Loop
tvrs.Close
Settvrs=noting
nodeX.Expanded=True
EndSub
PrivateSubfulltext()
'根据所选条目填充界面
Withrs
Text3(0).Text=!bxbm
Text3(1).Text=!sbbh
Text3(2).Text=!wcqk
Text3(3).Text=!bxgz
Text3(4).Text=!bxsrq
Text3(5).Text=!bxsj
Text3(6).Text=!xfsrq
Text3(7).Text=!xfsj
Text3(8).Text=!wxry
Text3(9).Text=Format(!wxgs,"0.00")
If!gzlx="软件"Then
Option1.Value=True
Else
If!gzlx="硬件"Then
Option2.Value=True
Else
If!gzlx="其他"Then
Option3.Value=True
EndIf
EndIf
EndIf
Text1.Text=!gzyy
Text2.Text=!cqcs
EndWith
EndSub
PrivateSubcleartext()
'清框
Withrs
Text3(0).Text=""
Text3(1).Text=""
Text3(2).Text=""
Text3(3).Text=""
Text3(4).Text=""
Text3(5).Text=""
Text3(6).Text=""
Text3(7).Text=""
Text3(8).Text=""
Text3(9).Text=""
Option1.Value=False
Option2.Value=False
Option3.Value=False
Text1.Text=""
Text2.Text=""
EndWith
EndSub
PrivateSubMRWC_Click()
IfMRWC.Checked=TrueThen
MRWC.Checked=False
Else
MRWC.Checked=True
EndIf
EndSub
PrivateSubText3_Change(IndexAsInteger)
IfIndex=1Then
DimgzrsAsRecordset
Setgzrs=NewRecordset
gzrs.CursorLocation=adUseClient
gzrs.CursorType=adOpenKeyset
gzrs.Open"select*fromwxrzwheresbbh='"&Text3(1).Text&"'orderbygzlx,bxsrq",cn,adOpenKeyset,adLockOptimistic
SetDataGrid1.DataSource=gzrs
EndIf
EndSub
PrivateSubText3_GotFocus(IndexAsInteger)
SelectCaseIndex
Case0
Combo2.Visible=True
Combo2.SetFocus
Case1
Combo3.Visible=True
Combo3.SetFocus
Case2
Combo1.Visible=True
Combo1.SetFocus
Case4
IfZDSJ.Checked=FalseThenExitSub
Text3(4).Text=Format(Date,"yyyymmdd")
Case5
IfZDSJ.Checked=FalseThenExitSub
Text3(5).Text=Format(Time,"hh:mm")
Case6
IfZDSJ.Checked=FalseThenExitSub
Text3(6).Text=Format(Date,"yyyymmdd")
Case7
IfZDSJ.Checked=FalseThenExitSub
Text3(7).Text=Format(Time,"hh:mm")
EndSelect
EndSub
PrivateSubautocalculate()
'自动计算工时,把日,小时换成分钟计算
DimcalhourAsInteger
DimcounthourAsInteger
calhour=Val(Text3(6).Text)-Val(Text3(4).Text)
Ifcalhour=0Then'在同一天内解决的故障工时统计
counthour=changetominute(Text3(7).Text)-changetominute(Text3(5).Text)
Else'没在同一天内解决
counthour=changetominute(Text3(7).Text)+calhour*24*60-changetominute(Text3(5).Text)
EndIf
Ifcounthour<60Then
Text3(9).Text=Format(counthour/100,"0.00")
Else
Text3(9).Text=Int(counthour/60)+(counthourMod60)/100
EndIf
EndSub
Functionchangetominute(texttimeAsString)AsInteger
DimhourtempAsInteger
DimmintempAsInteger
hourtemp=Val(Mid(texttime,1,2))
mintemp=Val(Mid(texttime,4,2))
changetominute=hourtemp*60+mintemp
EndFunction
PrivateSubText3_LostFocus(IndexAsInteger)
IfIndex=7Then
Fori=4To7
IfText3(i).Text=""Then
MsgBox"报修日期、时间或维修日期、时间出现漏"&Chr(13)&"输,自动工时计算无法进行,请补充输入!",vbInformation,"提示"
ExitSub
EndIf
Next
IfZDGS.Checked=TrueThen
Callautocalculate
EndIf
EndIf
'IfIndex=1Then
''输入合法性验证
'IfTrim(Text3(1).Text)=""Then
'MsgBox"设备编号不能为空,请输入。",vbInformation,"提示"
'Text3(1).SetFocus
'ExitSub
'EndIf
'IfLen(Trim(Text3(1).Text))<>5Then
'MsgBox"您输入的设备编号长度不符规范,请输入5位编号加以修改。",vbInformation,"提示"
'Text3(1).SetFocus
'ExitSub
'EndIf
'查找输入设备编号所属部室
'DimsbbmrsAsRecordset
'Setsbbmrs=NewRecordset
'sbbmrs.CursorLocation=adUseClient
'sbbmrs.Open"selectsbm,bmm,sbmcfromsbbhwheresbm='"&Text3(1).Text&"'",cn,adOpenKeyset,adLockOptimistic
'Ifsbbmrs.RecordCount=1Then
'Text3(0).Text=sbbmrs!bmm
'Else
'MsgBox"您输入的设备编号不存在,请检查。",vbInformation,"提示"
'Text3(0).Text=""
'ExitSub
'EndIf
'EndIf
'
'IfIndex=4Then
'IfTrim(Text3(4).Text)=""Then
'MsgBox"报修日期不能为空,请输入。",vbInformation,"提示"
'Text3(4).SetFocus
'ExitSub
'EndIf
'IfLen(Trim(Text3(4).Text))<>8Then
'MsgBox"报修日期长度不符规范,请按8位"年月日"格式加以修改。",vbInformation,"提示"
'Text3(4).SetFocus
'ExitSub
'EndIf
''EndIf
EndSub
PrivateSubTreeView1_NodeClick(ByValNodeAsMSComctlLib.Node)
'根据所选条目填充界面
IfNot(TreeView1.SelectedItem.ParentIsNothing)Then
childtemp=TreeView1.SelectedItem.Text
parenttemp=TreeView1.SelectedItem.Parent.Text
rs.Close
rs.Open"select*fromwxrzwherebxsrq='"&parenttemp&"'andsbbh='"&childtemp&"'",cn,adOpenKeyset,adLockOptimistic
Ifrs.RecordCount>=1Then
Callfulltext
EndIf
EndIf
EndSub
PrivateSubXFRQ_Click()
IfXFRQ.Checked=TrueThen
XFRQ.Checked=False
Else
XFRQ.Checked=True
EndIf
BMPX.Checked=False
BXRQ.Checked=False
EndSub
PrivateSubZDGS_Click()
IfZDGS.Checked=TrueThen
ZDGS.Checked=False
Else
ZDGS.Checked=True
Fori=4To7
IfText3(i).Text=""Then
ExitSub
EndIf
Next
Callautocalculate
EndIf
EndSub
PrivateSubTabStrip1_Click()
'TabStrip选择
SelectCaseTabStrip1.SelectedItem.Index
Case1
Frame2.Visible=True
Frame4.Visible=False
Case2
Frame2.Visible=False
Frame4.Visible=True
EndSelect
EndSub
PrivateSubZDSJ_Click()
IfZDSJ.Checked=TrueThen
ZDSJ.Checked=False
Else
ZDSJ.Checked=True
EndIf
EndSub
5.4机站配置代码
图表14 机站配置界面
机站配置:实现对各部门硬件配置的管理,存储在数据表sbbh,实现方法同维修日志。
5.5故障维修代码
图表15 故障统计界面
故障统计:实现对计算机日常故障的分类汇总统计。采用DataGrid控件绑定到数据集显示:SetDataGrid1.DataSource=gztjrs,代码如下:
PrivateSubCommand2_Click()
'统计
Dimqrqtemp,zrqtempAsStri
上一篇:
VB计算机等级考试管理系统-报名管理(论文和程序)
下一篇:
行走梵净山之(三)一世一遇,即是懂得