📄 crepair.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "CRepair"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Private m_sEid As String
Private m_dEtime As Date '设备出问题的时间
Private m_sCause As String '原因
Private m_sRepairman As String '维修人员
Private m_dRtime As Date '修好时间
Private m_sRepairResult As String '维修结果
Private m_iRid As Integer '维修次数
Public Property Get Eid() As String
Eid = m_sEid
End Property
Public Property Let Eid(ByVal vEid As String)
m_sEid = vEid
End Property
Public Property Get Etime() As Date
Etime = m_dEtime
End Property
Public Property Let Etime(ByVal vEtime As Date)
m_dEtime = vEtime
End Property
Public Property Get Cause() As String
Cause = m_sCause
End Property
Public Property Let Cause(ByVal vCause As String)
m_sCause = vCause
End Property
Public Property Get Repairman() As String
Repairman = m_sRepairman
End Property
Public Property Let Repairman(ByVal vRepairman As String)
m_sRepairman = vRepairman
End Property
Public Property Get rtime() As Date
rtime = m_dRtime
End Property
Public Property Let rtime(ByVal vRtime As Date)
m_dRtime = vRtime
End Property
Public Property Get repairresult() As String
repairresult = m_sRepairResult
End Property
Public Property Let repairresult(ByVal vRepairResult As String)
m_sRepairResult = vRepairResult
End Property
Public Property Get Rid() As Integer
Rid = m_iRid
End Property
Public Property Let Rid(ByVal vRid As Integer)
m_iRid = vRid
End Property
Public Sub Insert() ' 增加纪录
Connect "w"
sqlstr = "select * from Equipment where Eid='" & Eid & "'"
rs.Open sqlstr
If rs.EOF Then
MsgBox "在设备表中未找到设备名为: " & Eid & " 的相关信息!请检查后在添加纪录!"
Disconnect
Exit Sub
Else: rs.Close
End If
sqlstr = "select * from Repair where Eid='" & Eid & "'"
rs.Open sqlstr
' con.BeginTrans
MsgBox ("这是设备ID为:" & Eid & " 的第" & (rs.RecordCount + 1) & "次维修!")
If Cause = "" Then
MsgBox "维修原因不能为空!"
' con.RollbackTrans
Disconnect
Exit Sub
End If
' Disconnect
' Connect "w"
Dim sqlstrTemp As String
' Dim EConfigId As Integer
' Dim EState As String
' Dim EStatTime As Date
' Dim EUseTimeDay As Integer
' Dim EUseTime As Double
' Dim EPlace As String
'con.RollbackTrans
'Disconnect
rs.Close
EquipmentModify "R"
' rs.Close
' con.CommitTrans
'con.BeginTrans
Connect "w"
sqlstr = "select * from Repair where Eid='" & Eid & "'"
rs.Open sqlstr
rs.AddNew
rs.Fields("Eid") = Eid
rs.Fields("Cause") = Cause
rs.Fields("Repairman") = Repairman
rs.Fields("etime") = Etime
rs.Fields("rtime") = rtime
rs.Fields("RepairResult") = repairresult
rs.Update
MsgBox "新维修单:" & Eid & " 添加成功!"
' con.CommitTrans
Disconnect
End Sub
Public Sub Modify() '修改纪录
Connect "w"
sqlstr = "select * from Repair where Eid = '" & Eid & "' and Rid = " & Rid
rs.Open sqlstr
con.BeginTrans
If rs.EOF Then
MsgBox "未找到设备名为: " & Eid & " 的相关维修信息!"
con.RollbackTrans
Disconnect
Exit Sub
ElseIf Cause = "" Then
MsgBox "故障原因不能为空!"
con.RollbackTrans
Disconnect
Exit Sub
Else
Dim RepairState As String
If repairresult = "修理中" Then
RepairState = "R"
ElseIf repairresult = "修好了" Then
RepairState = "E"
ElseIf repairresult = "报废" Then
Dim Useless As CUseless
Set Useless = New CUseless
con.RollbackTrans
Useless.EquipmentDelete Eid
Exit Sub
End If
con.RollbackTrans
EquipmentModify RepairState
Connect "w"
sqlstr = "select * from Repair where Eid='" & Eid & "'"
rs.Open sqlstr
con.BeginTrans
'rs.Fields("Eid") = Eid
rs.Fields("etime") = Etime
rs.Fields("Cause") = Cause
rs.Fields("Repairman") = Repairman
rs.Fields("rtime") = rtime
rs.Fields("RepairResult") = repairresult
rs.Update
MsgBox "设备ID为:" & Eid & " 的第" & (rs.RecordCount + 1) & "次维修信息更新成功!"
con.CommitTrans
Disconnect
Exit Sub
End If
End Sub
'Public Sub Delete() '删除纪录,但由于没有删除纪录功能,该方法暂时关闭
' Connect "w"
' sqlstr = "select * from Repair where Eid= '" & Eid & "'"
' rs.Open sqlstr
' con.BeginTrans
' If rs.EOF Then
' MsgBox ("未找到设备ID为:" & Eid & "的相关信息!请检查后再继续!")
' con.RollbackTrans
' Disconnect
' Exit Sub
' Else
' rs.Delete
' rs.UpdateBatch
' con.CommitTrans
' MsgBox ("设备ID为:" & Eid & " 的维修信息成功被删除!")
' Disconnect
' Exit Sub
' End If
'End Sub
Public Sub DeleteAll() '清空所有记录
Dim m_iMsgbox As Integer
Connect "w"
m_iMsgbox = MsgBox("确定要清空所有维修信息吗?", vbYesNo + vbExclamation + vbDefaultButton2, "提示")
If m_iMsgbox = vbYes Then
con.Execute "Truncate Table Repair" '清空所有记录
MsgBox "清空维修信息成功!"
End If
Disconnect
End Sub
Public Function GetEids() As String()
Dim GetEid As CPublic
Set GetEid = New CPublic
GetEids = GetEid.GetListIDs("Equipment", "Eid")
End Function
Public Sub Query(ByVal str As String) '查询纪录
Connect "r"
If str = "" Then
sqlstr = "select rid as 维修标识,Eid as 设备ID,Etime as 损坏时间,Cause as 损坏原因,Repairman as 维修人员,Rtime as 修好时间,RepairResult as 维修结果 from Repair"
Else
sqlstr = "select rid as 维修标识, Eid as 设备ID,Etime as 损坏时间,Cause as 损坏原因,Repairman as 维修人员,Rtime as 修好时间,RepairResult as 维修结果 from Repair where Eid ='" & Eid & "'"
End If
rs.Open sqlstr
If Eid = "" Then
Disconnect
Exit Sub
End If
Disconnect
End Sub
Public Sub EquipmentModify(ByVal ModifyMode As String)
'该方法用以改变设备的使用状态
Disconnect
Dim Equipment As CEquipment
Set Equipment = New CEquipment
sqlstr = "select * from Equipment where Eid='" & Eid & "'"
Connect "r"
rs.Open sqlstr
Equipment.Eid = Eid
Equipment.ConfigID = rs.Fields("ConfigID")
Equipment.State = ModifyMode
Equipment.StartTime = rs.Fields("StartTime")
Equipment.UseTimeDay = rs.Fields("UseTimeDay")
Equipment.UseTime = rs.Fields("UseTime")
If IsNull(rs.Fields("Place")) Then
Equipment.Place = "A"
Else
Equipment.Place = rs.Fields("Place")
End If
Disconnect
Equipment.Modify
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -