📄 client.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 = "Client"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 CltId Varchar2 40 客户编号(用客户身份证号码表示)
'2 Idtype Varchar2 20 证件类型(包括身份证、军官证、驾驶证、工作证、学生证、回乡证和护照等)
'3 CltName Varchar2 50 联系人姓名
'4 OrgName Varchar2 100 客户单位
'5 CltType Varchar2 50 客户类别(由用户自定义,可以按行业或地域划分)
'6 CltFrom Varchar2 50 国籍户籍
'7 Sex Varchar2 10 性别
'8 Job Varchar2 50 职务
'9 Office Varchar2 30 单位电话
'10 Mobile Varchar2 30 移动电话
'11 Home Varchar2 30 家庭电话
'12 CltLevel Varchar2 10 客户等级(本系统分为普通客户和贵宾客户两种等级,贵宾客户在结帐时有签单的权限。在设计宾馆酒店管理系统时,可以根据需要设置客户等级,并为不同等级的客户制定不同的优惠政策和权限)
'13 Address Varchar2 200 家庭住址
'14 Postcode Varchar2 20 邮政编码
Public CltId As String
Public Idtype As String
Public CltName As String
Public OrgName As String
Public CltType As String
Public CltFrom As String
Public Sex As String
Public Job As String
Public Office As String
Public Mobile As String
Public Home As String
Public CltLevel As String
Public Address As String
Public Postcode As String
Public Sub Init()
CltId = ""
Idtype = ""
CltName = ""
OrgName = ""
CltType = ""
CltFrom = ""
Sex = ""
Job = ""
Office = ""
Mobile = ""
Home = ""
CltLevel = ""
Address = ""
Postcode = ""
End Sub
'删除
Public Sub Delete(ByVal TmpId As String)
SqlStmt = "DELETE FROM Client WHERE CltId='" + Trim(TmpId) + "'"
SQLExt (SqlStmt)
End Sub
Public Function GetInfo(ByVal TmpId As String) As Boolean
Dim rs As New ADODB.Recordset
'设置SELECT语句,读取编号为TmpId的记录
SqlStmt = "SELECT * FROM Client WHERE CltId='" + Trim(TmpId) + "'"
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
'如果结果集为空,则初始化
Init
GetInfo = False
Else
'将结果集中的数据赋值到成员变量中
If IsNull(rs.Fields(0)) Then
CltId = ""
Else
CltId = rs.Fields(0)
End If
If IsNull(rs.Fields(1)) Then
Idtype = ""
Else
Idtype = rs.Fields(1)
End If
If IsNull(rs.Fields(2)) Then
CltName = ""
Else
CltName = rs.Fields(2)
End If
If IsNull(rs.Fields(3)) Then
OrgName = ""
Else
OrgName = rs.Fields(3)
End If
If IsNull(rs.Fields(4)) Then
CltType = ""
Else
CltType = rs.Fields(4)
End If
If IsNull(rs.Fields(5)) Then
CltFrom = ""
Else
CltFrom = rs.Fields(5)
End If
If IsNull(rs.Fields(6)) Then
Sex = ""
Else
Sex = rs.Fields(6)
End If
If IsNull(rs.Fields(7)) Then
Job = ""
Else
Job = rs.Fields(7)
End If
If IsNull(rs.Fields(8)) Then
Office = ""
Else
Office = rs.Fields(8)
End If
If IsNull(rs.Fields(9)) Then
Mobile = ""
Else
Mobile = rs.Fields(9)
End If
If IsNull(rs.Fields(10)) Then
Home = ""
Else
Home = rs.Fields(10)
End If
If IsNull(rs.Fields(11)) Then
CltLevel = ""
Else
CltLevel = rs.Fields(11)
End If
If IsNull(rs.Fields(12)) Then
Address = ""
Else
Address = rs.Fields(12)
End If
If IsNull(rs.Fields(13)) Then
Postcode = ""
Else
Postcode = rs.Fields(13)
End If
GetInfo = True
End If
End Function
Public Function GetNum() As Long
Dim rs As New ADODB.Recordset
SqlStmt = "SELECT Count(CltId) FROM Client"
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
GetNum = 0
Else
GetNum = rs.Fields(0)
End If
End Function
Public Function In_DB(ByVal TmpId As String) As Boolean
Dim rs As New ADODB.Recordset
SqlStmt = "SELECT CltId FROM Client WHERE CltId='" + Trim(TmpId) + "'"
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
In_DB = False
Else
In_DB = True
End If
End Function
Public Sub Insert()
SqlStmt = "INSERT INTO Client VALUES('" + Trim(CltId) + "','" + Trim(Idtype) + "','" _
+ Trim(CltName) + "','" + Trim(OrgName) + "','" + Trim(CltType) _
+ "','" + Trim(CltFrom) + "','" + Trim(Sex) + "','" + Trim(Job) _
+ "','" + Trim(Office) + "','" + Trim(Mobile) + "','" + Trim(Home) _
+ "','" + Trim(CltLevel) + "','" + Trim(Address) + "','" + Trim(Postcode) + "')"
SQLExt (SqlStmt)
End Sub
Public Sub Loadtype()
Dim i As Integer
Dim rs As New ADODB.Recordset
'对数组进行初始化
Erase Arr_CltType
ReDim Arr_CltType(0)
'设置SQL语句,使用DISTINCT关键字避免出现重复的客户类别,结果集按CltType字段排序
SqlStmt = "SELECT DISTINCT CltType FROM Client ORDER BY CltType"
'执行SQL语句,将返回结果集赋值到rs对象中
Set rs = QueryExt(SqlStmt)
'依次把读取的数据赋值到数组中
i = 0
Do Until rs.EOF = True
ReDim Preserve Arr_CltType(i + 1)
Arr_CltType(i) = Trim(rs.Fields(0))
'将指针移动到下一条记录
rs.MoveNext
i = i + 1
Loop
End Sub
Public Sub Update(ByVal TmpId As String)
SqlStmt = "UPDATE Client SET CltId='" + Trim(CltId) + "', Idtype='" + Trim(Idtype) _
+ "', CltName='" + Trim(CltName) + "', OrgName='" + Trim(OrgName) + "', CltType='" _
+ Trim(CltType) + "', CltFrom='" + Trim(CltFrom) + "', Sex='" + Trim(Sex) _
+ "', Job='" + Trim(Job) + "', Office='" + Trim(Office) + "', Mobile='" _
+ Trim(Mobile) + "', Home='" + Trim(Home) + "', CltLevel='" + Trim(CltLevel) _
+ "', Address='" + Trim(Address) + "', Postcode='" + Trim(Postcode) _
+ "' WHERE CltId='" + Trim(TmpId) + "'"
SQLExt (SqlStmt)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -