📄 inoutlist.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 = "InOutList"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 Id 自动编号
'2 TypeId 数字 收支类型编号
'3 UseDate 文本 长度 20 收支日期
'4 ANo 文本 长度 50 账号
'5 UseSum 数字 单精度 收支金额
'6 MemId 数字 家庭成员编号
'7 Memos 文本 长度 100 备注
'8 Flag 数字 字节 类型:0-收入;1-支出
Public Id As Long
Public TypeId As Long
Public UseDate As String
Public ANo As String
Public UseSum As Double
Public MemId As Long
Public Memos As String
Public Flag As Integer
Public Sub Init()
TypeId = 0
UseDate = ""
ANo = ""
UseSum = 0
MemId = 0
Memos = ""
Flag = 0
End Sub
'删除
Public Sub Delete(ByVal TmpId As Long)
SqlStmt = "DELETE FROM InOutList WHERE Id=" + Trim(TmpId)
SQLExt (SqlStmt)
End Sub
Public Function GetInfo(ByVal TmpId As Long) As Boolean
Dim rs As New ADODB.Recordset '定义结果集对象
'设置SELECT语句,读取编号为TmpId的记录
SqlStmt = "SELECT * FROM InOutList WHERE Id=" + Trim(TmpId)
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF Then
'如果结果集为空,则初始化
Init
GetInfo = False
Else
'将结果集中的数据赋值到成员变量中
If IsNull(rs.Fields(0)) Then
Id = 0
Else
Id = rs.Fields(0)
End If
If IsNull(rs.Fields(1)) Then
TypeId = 0
Else
TypeId = rs.Fields(1)
End If
If IsNull(rs.Fields(2)) Then
UseDate = ""
Else
UseDate = Trim(rs.Fields(2))
End If
If IsNull(rs.Fields(3)) Then
ANo = ""
Else
ANo = Trim(rs.Fields(3))
End If
If IsNull(rs.Fields(4)) Then
UseSum = 0
Else
UseSum = rs.Fields(4)
End If
If IsNull(rs.Fields(5)) Then
MemId = 0
Else
MemId = rs.Fields(5)
End If
If IsNull(rs.Fields(6)) Then
Memos = ""
Else
Memos = Trim(rs.Fields(6))
End If
If IsNull(rs.Fields(7)) Then
Flag = 0
Else
Flag = rs.Fields(7)
End If
GetInfo = True
End If
End Function
'插入分类
Public Sub Insert()
SqlStmt = "INSERT INTO InOutList(TypeId,UseDate,ANo,UseSum," _
+ "MemId,Memos,Flag) VALUES(" + Trim(TypeId) _
+ ",'" + Trim(UseDate) + "','" + Trim(ANo) + "'," _
+ Trim(UseSum) + "," + Trim(MemId) + ",'" _
+ Trim(Memos) + "'," + Trim(Flag) + ")"
SQLExt (SqlStmt)
End Sub
'更新数据
Public Sub Update(ByVal TmpId As Long)
SqlStmt = "UPDATE InOutList SET TypeId=" + Trim(TypeId) _
+ ",UseDate='" + Trim(UseDate) + "',ANo='" + Trim(ANo) _
+ "',UseSum=" + Trim(UseSum) + ",MemId=" + Trim(MemId) _
+ ",Memos='" + Trim(Memos) _
+ "',Flag=" + Trim(Flag) + " Where Id = " + Trim(Str(TmpId))
SQLExt (SqlStmt)
End Sub
'计算收支金额
Public Function CalSum(ByVal TmpFlag As Integer) As Double
Dim rs As New ADODB.Recordset '定义结果集对象
'Flag=0表示收入, Flag=1表示支出
If TmpFlag = 0 Then '收入
SqlStmt = "SELECT Sum(UseSum) FROM InOutList WHERE Flag=0"
Else
SqlStmt = "SELECT Sum(UseSum) FROM InOutList WHERE Flag=1"
End If
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
'从结果集中获取数据
If IsNull(rs.Fields(0)) Then
CalSum = 0
Else
CalSum = rs.Fields(0)
End If
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -