📄 cequipment.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 = "CEquipment"
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_iConfigID As Integer '配置ID
Private m_sState As String '设备状态 E空闲中 U使用中 R修理中 H出租中
Private m_dStartTime As Date '以上除'E'状态的开始时间
Private m_iUseTimeDay As Integer '到状态结束后的这一段时间长度,用天表示
Private m_dbUseTime As Double '到状态结束后的这一段时间长度,用小时表示
Private m_sPlace As String '机房编号
'取得和设置属性值
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 configid() As Integer
configid = m_iConfigID
End Property
Public Property Let configid(ByVal vConfigId As Integer)
m_iConfigID = vConfigId
End Property
Public Property Get State() As String
State = m_sState
End Property
Public Property Let State(ByVal vState As String)
m_sState = vState
End Property
Public Property Get StartTime() As Date
StartTime = m_dStartTime
End Property
Public Property Let StartTime(ByVal vStartTime As Date)
m_dStartTime = vStartTime
End Property
Public Property Get UseTimeDay() As Integer
UseTimeDay = m_iUseTimeDay
End Property
Public Property Let UseTimeDay(ByVal vUseTimeDay As Integer)
m_iUseTimeDay = vUseTimeDay
End Property
Public Property Get UseTime() As Double
UseTime = m_dbUseTime
End Property
Public Property Let UseTime(ByVal vUseTime As Double)
m_dbUseTime = vUseTime
End Property
Public Property Get Place() As String
Place = m_sPlace
End Property
Public Property Let Place(ByVal vPlace As String)
m_sPlace = vPlace
End Property
'公共方法
Public Sub Insert() ' 增加纪录
Connect "w"
sqlstr = "select * from Equipment where Eid='" & Eid & "'"
rs.Open sqlstr
con.BeginTrans
If rs.EOF Then
rs.AddNew
If Eid = "" Or configid = 0 Then '不能添加
MsgBox "设备ID或者配置ID不能为空!"
con.RollbackTrans
Disconnect
Exit Sub
End If '成功添加纪录
rs.Fields("Eid") = Eid
rs.Fields("ConfigID") = configid
rs.Fields("State") = State
rs.Fields("StartTime") = StartTime
rs.Fields("UseTimeDay") = UseTimeDay
rs.Fields("UseTime") = UseTime
rs.Fields("Place") = Place
rs.Update
MsgBox "ID为:" & Eid & " 新设备信息添加成功!"
con.CommitTrans
Else
MsgBox "设备ID为:" & Eid & " 的纪录已经在数据库中,请勿重复添加!" '重复添加记录
con.RollbackTrans
End If
Disconnect
End Sub
Public Sub Modify() '修改纪录
Connect "w"
sqlstr = "select * from Equipment where Eid = '" & Eid & "'"
rs.Open sqlstr
con.BeginTrans
If rs.EOF Then '不能删除
MsgBox "未找到设备ID为:" & Eid & " 的相关信息!"
con.RollbackTrans
ElseIf configid = 0 Or Place = "" Then
MsgBox "配置ID或者存放机房不能为空!"
con.RollbackTrans
Else
'rs.Fields("Eid") = Eid 成功修改纪录
rs.Fields("ConfigID") = configid
rs.Fields("State") = State
rs.Fields("StartTime") = StartTime
rs.Fields("UseTimeDay") = UseTimeDay
rs.Fields("UseTime") = UseTime
rs.Fields("Place") = Place
rs.Update
' MsgBox "设备ID为:" & Eid & " 次维修信息更新成功!"
con.CommitTrans
End If
Disconnect
End Sub
Public Sub Delete() '删除纪录
Connect "w"
' Dim m_iMsgbox As Integer
sqlstr = "select * from Equipment where Eid='" & Eid & "'"
rs.Open sqlstr
con.BeginTrans
If Eid = "" Then
MsgBox "设备ID不能为空!"
con.RollbackTrans
ElseIf rs.EOF Then
MsgBox ("未找到设备ID为:" & Eid & " 的相关信息!请检查后再继续!") '未找到纪录
con.RollbackTrans
Else '
' m_iMsgbox = MsgBox("确定要删除该设备信息吗?", vbYesNo + vbExclamation + vbDefaultButton2, "提示")
' If m_iMsgbox = vbYes Then
rs.Delete ' 成功删除已有纪录
rs.UpdateBatch
con.CommitTrans
' MsgBox ("设备ID为:" & Eid & " 的信息成功被删除!")
' Else
' con.RollbackTrans
' End If
End If
Disconnect
End Sub
Public Sub Query(ByVal str As String) '查询纪录 并以中文显示
Connect "r"
If str = "" Then
sqlstr = "select Eid as 设备ID,ConfigID as 配置ID,State as 设备状态,StartTime as 开始时间,UseTimeDay as 使用天数,UseTime as 使用小时数,Place as 存放机房 from Equipment"
Else
sqlstr = "select Eid as 设备ID,ConfigID as 配置ID,State as 设备状态,StartTime as 开始时间,UseTimeDay as 使用天数,UseTime as 使用小时数,Place as 存放机房 from Equipment where Eid like '" & str & "'"
End If
rs.Open sqlstr
If Eid = "" Then
Disconnect
Exit Sub
End If
Disconnect
End Sub
Public Sub QueryConfig(ByVal vConfigId As Integer) '查询设备ID的详细信息
Connect "r"
If vConfigId = 0 Then
sqlstr = "select * from config"
Else
sqlstr = "select * from config where configid=" & vConfigId
End If
rs.Open sqlstr
Disconnect
End Sub
Public Sub QueryComplex() '复合查询
Connect "r"
If configid = 0 Then
sqlstr = "select Eid as 设备ID,ConfigID as 配置ID,State as 设备状态,StartTime as 开始时间,UseTimeDay as 使用天数,UseTime as 使用小时数,Place as 存放机房 from Equipment where Eid like '" & Eid & "' and state like '" & State & "' and place like '" & Place & "'"
Else
sqlstr = "select Eid as 设备ID,ConfigID as 配置ID,State as 设备状态,StartTime as 开始时间,UseTimeDay as 使用天数,UseTime as 使用小时数,Place as 存放机房 from Equipment where Eid like '" & Eid & "' and state like '" & State & "' and place like '" & Place & "'and configid =" & configid
End If
rs.Open sqlstr
Disconnect
End Sub
Public Function GetEids() As String() '获得设备ID值
Dim GetEid As CPublic
Set GetEid = New CPublic
GetEids = GetEid.GetListIDs("Equipment", "Eid")
End Function
Public Function GetConfigids() As String() '获得配置ID值
Dim GetConfigID As CPublic
Set GetConfigID = New CPublic
GetConfigids = GetConfigID.GetListIDs("Config", "ConfigID")
End Function
Public Function GetRoomNames() As String() '获得机房名称
Dim GetRoomName As CPublic
Set GetRoomName = New CPublic
GetRoomNames = GetRoomName.GetListIDs("CRoom", "Name")
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -