⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clssale.cls

📁 <Visual Basic 数据库开发实例精粹(第二版)>一书首先介绍了Visual Basic(简称VB)开发的技巧和重点技术
💻 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 = "clsSale"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit

'保持属性值的局部变量
Private mvarID As Long                     '销售编号
Private mvarGoodsID As Long                '商品编号
Private mvarGoodsName As String            '商品名称
Private mvarUnitName As String             '单位名称
Private mvarTypeID As Long                 '商品0类型编号
Private mvarTypeName As String             '商品类型名称
Private mvarUnitPrice As Currency          '单价
Private mvarAmount As Single               '销售数量
Private mvarTotalPrice As Currency         '销售总金额
Private mvarSupplierID As Long             '供货商编号
Private mvarSupplierName As String         '供货商名称
Private mvarRegistrarID As Long            '登记员编号
Private mvarRegistrarName As String        '登记员姓名
Private mvarRegDate As Date                '登记日期
Private mvarRemark As String               '备注
'以下供统计使用
Private mvarTotalSaleTimes As Long         '统计销售总次数
Private mvarGrossSalePrice As Currency     '统计销售总金额
Private mvarAverageSalePrice As Currency   '平均进货价格
Private mvarTotalSaleAmount As Single      '进货总数量

Public Property Let TotalSaleAmount(ByVal vData As Single)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TotalSaleAmount = 5
    mvarTotalSaleAmount = vData
End Property

Public Property Get TotalSaleAmount() As Single
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TotalSaleAmount
    TotalSaleAmount = mvarTotalSaleAmount
End Property

Public Property Let AverageSalePrice(ByVal vData As Currency)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.AverageSalePrice = 5
    mvarAverageSalePrice = vData
End Property

Public Property Get AverageSalePrice() As Currency
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.AverageSalePrice
    AverageSalePrice = mvarAverageSalePrice
End Property

Public Property Let SupplierID(ByVal vData As Long)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.SupplierID = 5
    mvarSupplierID = vData
End Property

Public Property Get SupplierID() As Long
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.SupplierID
    SupplierID = mvarSupplierID
End Property

Public Property Let TypeID(ByVal vData As Long)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TypeID = 5
    mvarTypeID = vData
End Property

Public Property Get TypeID() As Long
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TypeID
    TypeID = mvarTypeID
End Property

Public Property Let GrossSalePrice(ByVal vData As Currency)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.GrossSalePrice = 5
    mvarGrossSalePrice = vData
End Property

Public Property Get GrossSalePrice() As Currency
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.GrossSalePrice
    GrossSalePrice = mvarGrossSalePrice
End Property

Public Property Let SupplierName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.SupplierName = 5
    mvarSupplierName = vData
End Property

Public Property Get SupplierName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.SupplierName
    SupplierName = mvarSupplierName
End Property

Public Property Let TotalPrice(ByVal vData As Currency)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TotalPrice = 5
    mvarTotalPrice = vData
End Property

Public Property Get TotalPrice() As Currency
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TotalPrice
    TotalPrice = mvarTotalPrice
End Property

Public Property Let RegistrarID(ByVal vData As Long)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.RegistrarID = 5
    mvarRegistrarID = vData
End Property

Public Property Get RegistrarID() As Long
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.RegistrarID
    RegistrarID = mvarRegistrarID
End Property

Public Property Let GoodsID(ByVal vData As Long)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.GoodsID = 5
    mvarGoodsID = vData
End Property

Public Property Get GoodsID() As Long
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.GoodsID
    GoodsID = mvarGoodsID
End Property

Public Property Let UnitPrice(ByVal vData As Currency)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.UnitPrice = 5
    mvarUnitPrice = vData
End Property

Public Property Get UnitPrice() As Currency
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.UnitPrice
    UnitPrice = mvarUnitPrice
End Property

Public Property Let TypeName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TypeName = 5
    mvarTypeName = vData
End Property

Public Property Get TypeName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TypeName
    TypeName = mvarTypeName
End Property

Public Property Let TotalSaleTimes(ByVal vData As Long)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TotalSaleTimes = 5
    mvarTotalSaleTimes = vData
End Property

Public Property Get TotalSaleTimes() As Long
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TotalSaleTimes
    TotalSaleTimes = mvarTotalSaleTimes
End Property

Public Property Let UnitName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.UnitName = 5
    mvarUnitName = vData
End Property

Public Property Get UnitName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.UnitName
    UnitName = mvarUnitName
End Property

Public Property Let Remark(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.Remark = 5
    mvarRemark = vData
End Property

Public Property Get Remark() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.Remark
    Remark = mvarRemark
End Property

Public Property Let RegDate(ByVal vData As Date)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.RegDate = 5
    mvarRegDate = vData
End Property

Public Property Get RegDate() As Date
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.RegDate
    RegDate = mvarRegDate
End Property

Public Property Let RegistrarName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.RegistrarName = 5
    mvarRegistrarName = vData
End Property

Public Property Get RegistrarName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.RegistrarName
    RegistrarName = mvarRegistrarName
End Property

Public Property Let Amount(ByVal vData As Single)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.Amount = 5
    mvarAmount = vData
End Property

Public Property Get Amount() As Single
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.Amount
    Amount = mvarAmount
End Property

Public Property Let GoodsName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.GoodsName = 5
    mvarGoodsName = vData
End Property

Public Property Get GoodsName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.GoodsName
    GoodsName = mvarGoodsName
End Property

Public Property Let ID(ByVal vData As Long)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.ID = 5
    mvarID = vData
End Property

Public Property Get ID() As Long
Attribute ID.VB_UserMemId = 0
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.ID
    ID = mvarID
End Property

'添加销售信息
Public Function AddNew() As gxcAddNew
  On Error Resume Next

  '使用ADO的内置Command类来调用存储过程
  Dim cmd As New ADODB.Command
  
  '指定命令对象当前的活动连接
  cmd.ActiveConnection = g_Conn
  '指定命令类型为调用存储过程
  cmd.CommandType = adCmdStoredProc
  '指定命令文本,即要调用的存储过程名
  cmd.CommandText = "SaleAddNew"
  
  '指定命令对象的参数
  cmd.Parameters("@GoodsID") = Me.GoodsID
  cmd.Parameters("@Amount") = Me.Amount
  cmd.Parameters("@UnitPrice") = Me.UnitPrice
  cmd.Parameters("@RegistrarID") = Me.RegistrarID
  cmd.Parameters("@Remark") = RealString(Me.Remark)
  cmd.Parameters("@ID") = Null
  cmd.Parameters("@ReturnValue") = Null
  
  '执行命令
  cmd.Execute

  '由存储过程输出参数决定函数返回值 (自定义枚举)
  AddNew = cmd.Parameters("@ReturnValue").Value

  '获取添加成功后销售信息的ID值
  If AddNew = AddNewOK Then Me.ID = cmd.Parameters("@ID").Value
    
  '释放命令对象
  Set cmd = Nothing
End Function

'更新销售信息
Public Function Update() As gxcUpdate
  On Error Resume Next
  
  '使用ADO的内置Command类来调用存储过程
  Dim cmd As New ADODB.Command
  '为创建Command的参数而使用
  Dim param As ADODB.Parameter

  '指定命令对象当前的活动连接
  cmd.ActiveConnection = g_Conn
  '指定命令类型为调用存储过程
  cmd.CommandType = adCmdStoredProc
  '指定命令文本,即要调用的存储过程名
  cmd.CommandText = "SaleUpdate"

  '创建参数并设置各参数的属性
  '以下是输入型参数
  Set param = cmd.CreateParameter("SaleID", adInteger, adParamInput, 4, Me.ID)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("GoodsID", adInteger, adParamInput, 4, Me.GoodsID)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("Amount", adSingle, adParamInput, 50, Me.Amount)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("UnitPrice", adCurrency, adParamInput, 4, Me.UnitPrice)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("RegistrarID", adInteger, adParamInput, 4, Me.RegistrarID)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("Remark", adVarChar, adParamInput, 1000, Me.Remark)
  cmd.Parameters.Append param
  '以下是输出型参数
  Set param = cmd.CreateParameter("ReturnValue", adInteger, adParamOutput)
  cmd.Parameters.Append param

  '执行命令
  cmd.Execute
 
  '由存储过程输出参数决定函数返回值(自定义枚举)
  Update = cmd.Parameters("ReturnValue").Value

  '释放命令对象
  Set cmd = Nothing
End Function

'删除销售信息
Public Function Delete(lngID As Long) As gxcDelete
  On Error Resume Next
  
  '使用ADO的内置Command类来调用存储过程
  Dim cmd As New ADODB.Command
  '为创建Command的参数而使用
  Dim param As ADODB.Parameter

  '指定命令对象当前的活动连接
  cmd.ActiveConnection = g_Conn
  '指定命令类型为调用存储过程
  cmd.CommandType = adCmdStoredProc
  '指定命令文本,即要调用的存储过程名
  cmd.CommandText = "SaleDelete"

  '创建参数并设置各参数的属性
  '以下是输入型参数
  Set param = cmd.CreateParameter("SaleID", adInteger, adParamInput, 4, lngID)
  cmd.Parameters.Append param
  '以下是输出型参数
  Set param = cmd.CreateParameter("ReturnValue", adInteger, adParamOutput)
  cmd.Parameters.Append param

  '执行命令
  cmd.Execute
  
  '由存储过程输出参数决定函数返回值(自定义枚举)
  Delete = cmd.Parameters("ReturnValue").Value

  '释放命令对象
  Set cmd = Nothing
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -