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

📄 mdlmerchandise.bas

📁 VB数据库设计的代码。需要根据自己的数据库再作调整
💻 BAS
字号:
Attribute VB_Name = "mdlMerchandise"
Option Explicit

'***********************************************************************
'* 过程名:AppendMerchandise
'* 功  能:追加新商品
'* 参  数:ListView                 列表控件
'* 版  本:2006.01.03 颜志军 初版
'***********************************************************************
Public Sub AppendMerchandise(ByRef lvListViewCtl As ListView)
    Dim opMerchandiseinfo As clsOpMerchandiseinfo
    Set opMerchandiseinfo = New clsOpMerchandiseinfo
    opMerchandiseinfo.AppendNewMerchandise g_currentUser
    UpdateListViewInMerchandise lvListViewCtl
End Sub

'***********************************************************************
'* 过程名:EditMerchandise
'* 功  能:编辑商品信息
'* 参  数:ListView                 列表控件
'* 版  本:2006.01.03 颜志军 初版
'***********************************************************************
Public Sub EditMerchandise(ByRef lvListViewCtl As ListView)
    '变量定义
    Dim currentSelMerchandiseString As String            '当前选择商品ID
    Dim currentSelMerchandiseInfo As clsMerchandiseinfo  '当前选择商品
    Dim opMerchandise As clsOpMerchandiseinfo            '商品操作对象
    
    '取得当前选择
    If lvListViewCtl.SelectedItem Is Nothing Then
         MsgBox "请选择要编辑的商品类别!", vbExclamation Or vbOKOnly, "警告"
    Else
        currentSelMerchandiseString = Trim(lvListViewCtl.SelectedItem.Text)
        Set currentSelMerchandiseInfo = New clsMerchandiseinfo
        If currentSelMerchandiseInfo.LoadById(CInt(currentSelMerchandiseString)) = DbOpRecExist Then
            Set opMerchandise = New clsOpMerchandiseinfo
            opMerchandise.EditMerchandise currentSelMerchandiseInfo, g_currentUser
            lvListViewCtl.ListItems.Remove lvListViewCtl.SelectedItem.Index
            UpdateListViewInMerchandise lvListViewCtl
        Else
            MsgBox "读取商品信息失败!", vbExclamation Or vbOKOnly, "警告"
        End If
    End If
End Sub

'***********************************************************************
'* 过程名:RemoveMerchandise
'* 功  能:删除商品
'* 参  数:ListView                 列表控件
'* 版  本:2006.01.03 颜志军 初版
'***********************************************************************
Public Sub RemoveMerchandise(ByRef lvListViewCtl As ListView)
    '变量定义
    Dim currentSelMerchandiseString As String            '当前选择商品ID
    Dim currentSelMerchandiseInfo As clsMerchandiseinfo  '当前选择商品
    Dim opMerchandise As clsOpMerchandiseinfo            '商品操作对象
    
    If Not lvListViewCtl.SelectedItem Is Nothing Then
        currentSelMerchandiseString = lvListViewCtl.SelectedItem.Text
        If MsgBox("删除ID为[" & currentSelMerchandiseString & "]的商品吗?", _
                vbQuestion Or vbYesNo, "询问") = vbYes Then
            Set currentSelMerchandiseInfo = New clsMerchandiseinfo
            If currentSelMerchandiseInfo.LoadById(CInt(currentSelMerchandiseString)) = DbOpRecExist Then
                Set opMerchandise = New clsOpMerchandiseinfo
                If opMerchandise.RemoveMerchandise(currentSelMerchandiseInfo, g_currentUser) Then
                    lvListViewCtl.ListItems.Remove lvListViewCtl.SelectedItem.Index
                    Exit Sub
                End If
            End If
            MsgBox "删除商品失败!", vbExclamation Or vbOKOnly, "警告"
        End If
    Else
        MsgBox "请先选择要删除的商品!", vbExclamation Or vbOKOnly, "警告"
    End If
End Sub

'***********************************************************************
'* 过程名:IniListViewInMerchandise
'* 功  能:以商品列表初始化ListView
'* 参  数:ListView                 列表控件
'* 版  本:2006.01.03 颜志军 初版
'***********************************************************************
Public Sub IniListViewInMerchandise(ByRef lvListViewCtl As ListView)
    If g_listViewState = MERCHANDISELIST Then
        UpdateListViewInMerchandise lvListViewCtl
    Else
        '变量定义
        Dim merchandiseSet As clsMerchandiseinfoSet
        Dim merchandise As clsMerchandiseinfo
        Dim curListItem As ListItem
        
        '取得商品类型集合
        Set merchandiseSet = New clsMerchandiseinfoSet
        
        '清除现有显示
        lvListViewCtl.ColumnHeaders.Clear
        lvListViewCtl.ListItems.Clear
        
        '设定表头
        lvListViewCtl.ColumnHeaders.Add , "商品ID", "商品ID"
        lvListViewCtl.ColumnHeaders.Add , "商品名", "商品名"
        lvListViewCtl.ColumnHeaders.Add , "所属类别", "所属类别"
        lvListViewCtl.ColumnHeaders.Add , "备注", "备注"
        
        '明细显示
        For Each merchandise In merchandiseSet
            Set curListItem = lvListViewCtl.ListItems.Add(, , CStr(merchandise.merchandiseId))
            curListItem.SubItems(1) = merchandise.merchandiseName
            curListItem.SubItems(2) = merchandise.kindName
            curListItem.SubItems(3) = merchandise.remark
        Next
    End If
    g_listViewState = MERCHANDISELIST
End Sub

'***********************************************************************
'* 过程名:UpdateListViewInMerchandise
'* 功  能:更新商品列表
'* 参  数:ListView                 列表控件
'* 版  本:2006.01.03 颜志军 初版
'***********************************************************************
Public Sub UpdateListViewInMerchandise(ByRef lvListViewCtl As ListView)
    '变量定义
    Dim merchandiseSet As clsMerchandiseinfoSet
    Dim merchandise As clsMerchandiseinfo
    Dim curListItem As ListItem
    Dim iLoop As Integer
    
    '取得商品类型集合
    Set merchandiseSet = New clsMerchandiseinfoSet
    
    '明细更新
    For Each merchandise In merchandiseSet
        For iLoop = 1 To lvListViewCtl.ListItems.Count
            If merchandise.merchandiseId = lvListViewCtl.ListItems.Item(iLoop).Text Then
                GoTo CHECKAGAIN
            End If
        Next
        
        Set curListItem = lvListViewCtl.ListItems.Add(, , CStr(merchandise.merchandiseId))
        curListItem.SubItems(1) = merchandise.merchandiseName
        curListItem.SubItems(2) = merchandise.kindName
        curListItem.SubItems(3) = merchandise.remark
CHECKAGAIN:
    Next
End Sub


⌨️ 快捷键说明

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