📄 frmcomputer.frm
字号:
Caption = "删除计算机"
End
Begin VB.Menu MnuFault
Caption = "设为故障机"
End
Begin VB.Menu MnuNormal
Caption = "设为正常机"
End
End
End
Attribute VB_Name = "frmComputer"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'' ''
''Filename frmComputer.frm ''
'' ''
''Created On 2004.2.22 ''
'' ''
''Description 计算机信息维护窗体 ''
'' ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim lItem As ListItem
Public rsComputer As Recordset
Dim RSComputerFault As Recordset
Dim rsComputerDelete As Recordset
Dim RsComputerList As Recordset
Dim rsComputerFaultDelete As Recordset
Public rsComputerFaultPrint As Recordset
Public StrItem As String
Dim Intindex As Integer
Dim itmX As ListItem
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''配置lvwComputer控件,并显示计算机的相关信息 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
Set rsComputer = New Recordset
rsComputer.Open "select * from TbComputer ", Modmain.conn, 3, 2
lvwComputer.View = lvwIcon '配置lvwComputer控件
lvwComputer.Icons = ImgComputer
lvwComputer.Sorted = True
lvwComputer.Visible = True
While Not rsComputer.EOF
If rsComputer.Fields!State = "正常" Then
Set lItem = lvwComputer.ListItems.Add(, , rsComputer.Fields("CPT_ID"), 2)
ElseIf rsComputer.Fields!State = "使用" Then
Set lItem = lvwComputer.ListItems.Add(, , rsComputer.Fields("CPT_ID"), 4)
ElseIf rsComputer.Fields!State = "故障" Then
Set lItem = lvwComputer.ListItems.Add(, , rsComputer.Fields("CPT_ID"), 3)
End If
rsComputer.MoveNext
Wend
'While Not RSComputer.EOF ' 添加相应的 ListItem
' Dim i As Integer
' i = i + 1
' Set lItem = lvwComputer.ListItems.Add(i, , RSComputer.Fields("CPT_ID"), 1)
' RSComputer.MoveNext
'Wend
txtCPT_MemoDis.Enabled = False
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''选中计算机ID后显示该计算机的详细信息 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub lvwComputer_ItemClick(ByVal Item As MSComctlLib.ListItem)
Intindex = Item.Index
StrItem = Item
Set RsComputerList = New Recordset
RsComputerList.Open "select * from TbComputer where CPT_ID='" & Item & "'", Modmain.conn, 3, 2
lblCPT_IDDis.Caption = RsComputerList.Fields!CPT_ID
lblRowDis.Caption = RsComputerList.Fields!row
lblTierDis.Caption = RsComputerList.Fields!tier
lblStateDis.Caption = RsComputerList.Fields!State
If RsComputerList.Fields!CPT_Memo <> "" Then
txtCPT_MemoDis.Text = RsComputerList.Fields!CPT_Memo
Else
txtCPT_MemoDis.Text = ""
End If
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''设置右键菜单 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub lvwComputer_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu MnuComputer, vbPopupMenuRightButton
End If
End Sub
Private Sub MnuAdd_Click()
frmAddComputer.Show 1
End Sub
Public Sub AddItem()
Set lItem = lvwComputer.ListItems.Add(, , frmAddComputer.strCPT_ID, 2)
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''删除计算机后,删除该计算机的所有信息 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub MnuDelete_Click()
If MsgBox("确实要删除该计算机吗?将删除该计算机的所有相关信息", vbYesNo + vbQuestion, "机房管理") = vbYes Then
Set rsComputerDelete = New Recordset
rsComputerDelete.Open "select * from tbComputer where cpt_id='" & StrItem & "'", Modmain.conn, 3, 2
rsComputerDelete.Delete
lvwComputer.ListItems.Remove (Intindex)
frmmain.ItgSum = frmmain.ItgSum - 1
frmmain.SbaMain.Panels(3) = "共" & frmmain.ItgSum & "台计算机," & frmmain.ItgUse & "台使用," & CStr(frmmain.ItgSum - frmmain.ItgUse) & "台空闲"
Set rsComputerFaultDelete = New Recordset
rsComputerFaultDelete.Open "select * from tbComputerFault where cpt_id='" & StrItem & "'", Modmain.conn, 3, 2
If rsComputerFaultDelete.RecordCount <> 0 Then
rsComputerFaultDelete.Delete '删除该故障机的故障信息
End If
lvwComputer.Refresh
AddLog
End If
End Sub
Private Sub MnuEdit_Click()
frmEditComputer.Show 1 '显示设置故障机的界面
End Sub
Private Sub MnuFault_Click()
If RsComputerList.Fields!State = "正常" Then
frmComputerFault.Show 1
Set itmX = lvwComputer.FindItem(StrItem, , , lvwPartial) '改变该计算机的图标
lvwComputer.ListItems.Remove (itmX.Index)
Set lItem = lvwComputer.ListItems.Add(, , RsComputerList.Fields("CPT_ID"), 3)
lblStateDis.Caption = "故障"
AddFaultLog ("L11")
ElseIf RsComputerList.Fields!State = "故障" Then
MsgBox "该计算机已为故障机!", vbOKOnly + vbExclamation, "机房管理"
Else
MsgBox "该计算机正在使用!", vbOKOnly + vbExclamation, "机房管理"
End If
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''设置故障机为正常机 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub MnuNormal_Click()
If RsComputerList.Fields!State = "故障" Then
If MsgBox("确实要设为正常机吗?", vbYesNo + vbQuestion, "机房管理") = vbYes Then
RsComputerList.Fields!State = "正常" '将该计算机的状态设为正常
RsComputerList.Update
Set itmX = lvwComputer.FindItem(StrItem, , , lvwPartial) '改变该计算机的图标
lvwComputer.ListItems.Remove (itmX.Index)
Set lItem = lvwComputer.ListItems.Add(, , RsComputerList.Fields("CPT_ID"), 2)
lblStateDis.Caption = "正常"
AddFaultLog ("L12")
Set RSComputerFault = New Recordset
RSComputerFault.Open "select * from tbComputerFault where cpt_id='" & StrItem & "'", Modmain.conn, 3, 2
RSComputerFault.Delete '删除该故障机的故障信息
End If
ElseIf RsComputerList.Fields!State = "正常" Then
MsgBox "该计算机已为正常机!", vbOKOnly + vbExclamation, "机房管理"
Else
MsgBox "该计算机正在使用!", vbOKOnly + vbExclamation, "机房管理"
End If
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "Add"
MnuAdd_Click
Case "Find"
Set rsComputer = New Recordset
rsComputer.Open "select * from TbComputer ", Modmain.conn, 3, 2
DRComputerInfo.Show 1
Case "print"
Set rsComputerFaultPrint = New Recordset
rsComputerFaultPrint.Open "select TbComputer.CPT_ID , TbComputer.row, TbComputer.Tier, TbComputerFault.Date, TbComputerFault.Memo from TbComputer,TbComputerFault where TbComputer.CPT_ID=TbComputerFault.CPT_ID ", Modmain.conn, 3, 2
DRComputerDefault.Show 1
End Select
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''将用户删除计算机的信息记入操作日志 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub AddLog()
Dim strEvents As String
Dim strTemp As String
strTemp = "'"
Set rsOperateLog = New Recordset
rsOperateLog.Open "select * from tbOperateLog", Modmain.conn, 3, 2
Set rsLog = New Recordset
rsLog.Open "select * from tblog where L_ID='L09'", Modmain.conn, 3, 2
strEvents = rsLog.Fields!Events
rsOperateLog.AddNew
rsOperateLog.Fields!U_ID = frmLoad.StrU_ID
rsOperateLog.Fields!Time = Time
rsOperateLog.Fields!Date = Date
rsOperateLog.Fields!Events = strEvents
rsOperateLog.Fields!Description = strEvents & strTemp & StrItem & strTemp
rsOperateLog.Update
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''将用户设为故障机的信息记入操作日志 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub AddFaultLog(aa As String)
Dim strEvents As String
Dim strTemp As String
strTemp = "'"
Set rsOperateLog = New Recordset
rsOperateLog.Open "select * from tbOperateLog", Modmain.conn, 3, 2
Set rsLog = New Recordset
rsLog.Open "select * from tblog where L_ID='" & aa & "'", Modmain.conn, 3, 2
strEvents = rsLog.Fields!Events
rsOperateLog.AddNew
rsOperateLog.Fields!U_ID = frmLoad.StrU_ID
rsOperateLog.Fields!Time = Time
rsOperateLog.Fields!Date = Date
rsOperateLog.Fields!Events = strEvents
rsOperateLog.Fields!Description = "将计算机" & strTemp & StrItem & strTemp & strEvents
rsOperateLog.Update
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -