?? account.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 = "Account"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 AccountNo 文本 長度 50 賬戶
'2 AType 文本 長度 50 帳戶類型:儲蓄、工資、負債、信用卡
'3 BId 數字 銀行編號
'4 MemId 數字 成員編號
'5 OpenDate 文本 長度 50 開戶日期
'6 Flag 數字 字節 存款類型:0-活期、1-定期
'7 ASum 數字 單精度型 帳戶金額
'8 Memos 文本 長度 200 備注
Public AccountNo As String
Public AType As String
Public BId As Long
Public MemId As Long
Public OpenDate As String
Public Flag As Integer
Public ASum As Double
Public Memos As String
Public Sub Init()
AccountNo = ""
AType = "儲蓄"
BId = 0
MemId = 0
OpenDate = ""
Flag = 0
ASum = 0
Memos = ""
End Sub
'刪除
Public Sub Delete(ByVal TmpANo As String)
SqlStmt = "DELETE FROM Account WHERE AccountNo='" + Trim(TmpANo) + "'"
SQLExt (SqlStmt)
End Sub
Public Function GetInfo(ByVal TmpANo As String) As Boolean
Dim rs As New ADODB.Recordset '定義結果集對象
'設置SELECT語句,讀取編號為TmpANo的記錄
SqlStmt = "SELECT * FROM Account WHERE AccountNo='" + Trim(TmpANo) + "'"
'將結果集讀取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF Then
'如果結果集為空,則初始化
Init
GetInfo = False
Else
'將結果集中的數據賦值到成員變量中
If IsNull(rs.Fields(0)) Then
AccountNo = ""
Else
AccountNo = Trim(rs.Fields(0))
End If
If IsNull(rs.Fields(1)) Then
AType = ""
Else
AType = Trim(rs.Fields(1))
End If
If IsNull(rs.Fields(2)) Then
BId = 0
Else
BId = rs.Fields(2)
End If
If IsNull(rs.Fields(3)) Then
MemId = 0
Else
MemId = rs.Fields(3)
End If
If IsNull(rs.Fields(4)) Then
OpenDate = ""
Else
OpenDate = Trim(rs.Fields(4))
End If
If IsNull(rs.Fields(5)) Then
Flag = 0
Else
Flag = rs.Fields(5)
End If
If IsNull(rs.Fields(6)) Then
ASum = 0
Else
ASum = rs.Fields(6)
End If
If IsNull(rs.Fields(7)) Then
Memos = ""
Else
Memos = Trim(rs.Fields(7))
End If
GetInfo = True
End If
End Function
'插入分類
Public Sub Insert()
SqlStmt = "INSERT INTO Account(AccountNo,AType,BId,MemId,OpenDate,Flag,ASum,Memos)" _
+ " VALUES('" + Trim(AccountNo) + "','" + Trim(AType) _
+ "'," + Trim(BId) + "," + Trim(MemId) _
+ ",'" + Trim(OpenDate) + "'," + Trim(Flag) _
+ "," + Trim(ASum) + ",'" + Trim(Memos) + "')"
SQLExt (SqlStmt)
End Sub
'更新數據
Public Sub Update(ByVal TmpANo As String)
SqlStmt = "UPDATE Account SET AType='" + Trim(AType) _
+ "',BId=" + Trim(BId) + ",MemId=" + Trim(MemId) _
+ ",OpenDate='" + Trim(OpenDate) + "',Flag=" + Trim(Flag) _
+ ",ASum=" + Trim(ASum) + ",Memos='" + Trim(Memos) _
+ "' Where AccountNo = '" + Trim(TmpANo) + "'"
SQLExt (SqlStmt)
End Sub
'更新帳戶金額
Public Sub UpdateSum(ByVal TmpANo As String, ByVal TmpFlag As Integer, ByVal OSum As Double)
If TmpFlag = 2 Then
SqlStmt = "UPDATE Account SET ASum=0 Where AccountNo = '" + Trim(TmpANo) + "'"
Else
SqlStmt = "UPDATE Account SET ASum=ASum+" + Trim(OSum) _
+ " Where AccountNo = '" + Trim(TmpANo) + "'"
End If
SQLExt (SqlStmt)
End Sub
'計算現金帳戶金額和非現金帳戶金額
Public Function CalSum(ByVal TmpFlag As Integer) As Double
Dim rs As New ADODB.Recordset '定義結果集對象
If TmpFlag = 0 Then '現金帳戶
SqlStmt = "SELECT Sum(ASum) FROM Account WHERE AType Like '%現金%'"
Else
SqlStmt = "SELECT Sum(ASum) FROM Account WHERE AType Not Like '%現金%'"
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 + -