?? orderlist.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 = "OrderList"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 ListId int 房間登記編號,作為表OrderList的主鍵
'2 OrderId int 預定編號
'3 RoomNo Varchar 10 客房編號
'4 InDate date 計劃入住日期
'5 Days int 入住天數
'6 Price int 預定單價
'7 Rate int 預定折扣
'8 OtherFee int 其他收費金額
'9 Memo Varchar 2000 其他說明
Public ListId As Integer
Public OrderId As Integer
Public RoomNo As String
Public InDate As String
Public Days As Integer
Public Price As Long
Public Rate As Single
Public OtherFee As Single
Public Memo As String
Public Sub Init()
ListId = 0
OrderId = 0
RoomNo = ""
InDate = ""
Days = 0
Price = 0
Rate = 0
OtherFee = 0
Memo = ""
End Sub
'取得入住客房詳細信息,由于入住編號唯一對應一個入住客房信息,所以使用入住編號為查詢條件
Public Function GetInfo(ByVal TmpId As Long) As Boolean
Dim rs As New ADODB.Recordset
If TmpId <= 0 Then
Init
GetInfo = False
Exit Function
End If
'設置SELECT語句
SqlStmt = "SELECT * FROM OrderList WHERE OrderId=" + Trim(TmpId)
'將結果集讀取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
'如果結果集為空,則初始化
Init
GetInfo = False
Else
'將結果集中的數據賦值到成員變量中
ListId = rs.Fields(0)
OrderId = rs.Fields(1)
RoomNo = rs.Fields(2)
InDate = rs.Fields(3)
If IsNull(rs.Fields(4)) Then
Days = 0
Else
Days = rs.Fields(4)
End If
If IsNull(rs.Fields(5)) Then
Price = 0
Else
Price = rs.Fields(5)
End If
If IsNull(rs.Fields(6)) Then
Rate = 0
Else
Rate = rs.Fields(6)
End If
If IsNull(rs.Fields(7)) Then
OtherFee = 0
Else
OtherFee = rs.Fields(7)
End If
If IsNull(rs.Fields(8)) Then
Memo = ""
Else
Memo = rs.Fields(8)
End If
GetInfo = True
End If
End Function
'根據列表編號取得預定客房的詳細信息
Public Function GetInfoByListId(ByVal TmpId As Long) As Boolean
Dim rs As New ADODB.Recordset
If TmpId <= 0 Then
Init
GetInfoByListId = False
Exit Function
End If
'設置SELECT語句
SqlStmt = "SELECT * FROM OrderList WHERE ListId=" + Trim(TmpId)
'將結果集讀取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
'如果結果集為空,則初始化
Init
GetInfoByListId = False
Else
'將結果集中的數據賦值到成員變量中
ListId = rs.Fields(0)
OrderId = rs.Fields(1)
RoomNo = rs.Fields(2)
InDate = rs.Fields(3)
If IsNull(rs.Fields(4)) Then
Days = 0
Else
Days = rs.Fields(4)
End If
If IsNull(rs.Fields(5)) Then
Price = 0
Else
Price = rs.Fields(5)
End If
If IsNull(rs.Fields(6)) Then
Rate = 0
Else
Rate = rs.Fields(6)
End If
If IsNull(rs.Fields(7)) Then
OtherFee = 0
Else
OtherFee = rs.Fields(7)
End If
If IsNull(rs.Fields(8)) Then
Memo = ""
Else
Memo = rs.Fields(8)
End If
GetInfoByListId = True
End If
End Function
'刪除單個預定信息
Public Sub Delete(ByVal TmpId As Long)
SqlStmt = "DELETE FROM OrderList WHERE ListId=" + Trim(TmpId)
SQLExt (SqlStmt)
End Sub
'取消預定時刪除此預定編號下的所有記錄
Public Sub DeleteByOrderId(ByVal TmpOid As Long)
SqlStmt = "DELETE FROM OrderList WHERE OrderId=" + Trim(TmpOid)
SQLExt (SqlStmt)
End Sub
'插入新的預定記錄
Public Sub Insert()
SqlStmt = "INSERT INTO OrderList VALUES(" _
+ Trim(OrderId) + ",'" + Trim(RoomNo) + "', '" _
+ Trim(InDate) + "'," + Trim(Days) _
+ "," + Trim(Price) + "," + Trim(Rate) + "," + Trim(OtherFee) _
+ ",'" + Trim(Memo) + "')"
SQLExt (SqlStmt)
End Sub
'取得一個預定編號中預定的房間數
Public Function GetRoomNum(ByVal TmpOid As Long) As Integer
Dim rs As New ADODB.Recordset
'設置SELECT語句
SqlStmt = "SELECT Count(*) FROM OrderList WHERE OrderId= " + Trim(TmpOid)
'將結果集讀取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
GetRoomNum = 0
Else
GetRoomNum = rs.Fields(0)
End If
End Function
'取得一個預定編號中預定房間總金額
Public Function SumAmount(ByVal TmpOid As Long) As Integer
Dim rs As New ADODB.Recordset
'設置SELECT語句
SqlStmt = "SELECT Sum(Round(Price*Rate*Days/100,0)+OtherFee) FROM OrderList" _
+ " WHERE OrderId= " + Trim(TmpOid)
'將結果集讀取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
SumAmount = 0
Else
SumAmount = rs.Fields(0)
End If
End Function
'更新登記信息
Public Sub Update(ByVal TmpId As Long)
SqlStmt = "UPDATE OrderList SET RoomNo='" + Trim(RoomNo) + "', InDate='" _
+ Trim(InDate) + "',Days=" + Trim(Days) _
+ ", Price=" + Trim(Price) + ", Rate=" + Trim(Rate) + ", OtherFee=" _
+ Trim(OtherFee) + ", Memo='" + Trim(Memo) + "' WHERE ListId=" + Trim(TmpId)
SQLExt (SqlStmt)
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -