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

📄 clsimages.cls

📁 利用VB和ACESS联合制作的一个人事和物品管理系统
💻 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 = "clsImages"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Collection" ,"clsImage"
Attribute VB_Ext_KEY = "Member0" ,"clsImage"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit

'local variable to hold collection
Private mCol As Collection

Public Function Add(ID As Integer, IName As String, Introduce As String, TypeID As Integer, MinX As Double, MaxX As Double, MinY As Double, MaxY As Double, IDate As Date, Res As String, IFormat As String, TypeName As String, Proj As String, Label As String, Optional sKey As String) As clsImage
    'create a new object
    Dim objNewMember As clsImage
    Set objNewMember = New clsImage

    'set the properties passed into the method
    objNewMember.ID = ID
    objNewMember.IName = IName
    objNewMember.Introduce = Introduce
    objNewMember.TypeID = TypeID
    objNewMember.MinX = MinX
    objNewMember.MaxX = MaxX
    objNewMember.MinY = MinY
    objNewMember.MaxY = MaxY
    objNewMember.IDate = IDate
    objNewMember.Res = Res
    objNewMember.IFormat = IFormat
    objNewMember.TypeName = TypeName
    objNewMember.Proj = Proj
    objNewMember.Label = Label
    If Len(sKey) = 0 Then
        mCol.Add objNewMember
    Else
        mCol.Add objNewMember, sKey
    End If


    'return the object created
    Set Add = objNewMember
    Set objNewMember = Nothing


End Function

Public Property Get Item(vntIndexKey As Variant) As clsImage
Attribute Item.VB_UserMemId = 0
    'used when referencing an element in the collection
    'vntIndexKey contains either the Index or Key to the collection,
    'this is why it is declared as a Variant
    'Syntax: Set foo = x.Item(xyz) or Set foo = x.Item(5)
  Set Item = mCol(vntIndexKey)
End Property



Public Property Get Count() As Long
    'used when retrieving the number of elements in the
    'collection. Syntax: Debug.Print x.Count
    Count = mCol.Count
End Property


Public Sub Remove(vntIndexKey As Variant)
    'used when removing an element from the collection
    'vntIndexKey contains either the Index or Key, which is why
    'it is declared as a Variant
    'Syntax: x.Remove(xyz)


    mCol.Remove vntIndexKey
End Sub


Public Property Get NewEnum() As IUnknown
Attribute NewEnum.VB_UserMemId = -4
Attribute NewEnum.VB_MemberFlags = "40"
    'this property allows you to enumerate
    'this collection with the For...Each syntax
    Set NewEnum = mCol.[_NewEnum]
End Property


Private Sub Class_Initialize()
    'creates the collection when this class is created
    Set mCol = New Collection
End Sub


Private Sub Class_Terminate()
    'destroys collection when this class is terminated
    Set mCol = Nothing
End Sub

Public Function Find(Optional lngID As Long = -1, Optional lngTypeId As Long = 0) As clsImages
  Dim rs As Recordset
  Dim Index As Long
  Dim obj As clsImage
  '按输入的参数查询,并返回一个集合类
  Dim strSQL As String
  
   strSQL = "select * from IImage,IType where "
  strSQL = strSQL & "I_TypeID=IT_ID and "
  If lngID <> -1 Then
     strSQL = strSQL & " I_ID=" & lngID & "and "
  End If
  If lngTypeId <> 0 Then
     strSQL = strSQL & "I_TypeID=" & lngTypeId & "and "
  End If
  
  strSQL = strSQL & "I_ID>0"
  '清空当前集合
  Me.Clear
  Set rs = g_Conn.Execute(strSQL)
  '往集合中添加查询结果
  For Index = 1 To rs.RecordCount
   Set obj = New clsImage

   With obj
                .ID = rs.Fields("I_ID").Value
                .Introduce = rs.Fields("I_Introduce").Value
                .IDate = rs.Fields("I_Date").Value
                .IName = rs.Fields("I_Name").Value
                .Label = Trim(rs.Fields("I_Label").Value)
                .IFormat = Trim(rs.Fields("I_Format").Value)
                .MaxX = Trim(rs.Fields("I_MaxX").Value)
                .MaxY = Trim(rs.Fields("I_MaxY").Value)
                .TypeID = rs.Fields("I_TypeID").Value
                .MinX = Trim(rs.Fields("I_MinX").Value)
                .MinY = Trim(rs.Fields("I_MinY").Value)
                .Proj = Trim(rs.Fields("I_Projection").Value)
                .Res = Trim(rs.Fields("I_Resolution").Value)
                .TypeName = Trim(rs.Fields("IT_Name").Value)
   End With
   Me.AddEx obj
   Set obj = Nothing
   rs.MoveNext
  Next Index
  Set rs = Nothing
  Set Find = Me
End Function

Public Sub Clear()
  '注意!在清除时必须倒序清除,否则要出错!
  Dim i As Long
  For i = mCol.Count To 1 Step -1
    mCol.Remove i
  Next i
End Sub


Public Sub AddEx(obj As clsImage)
 mCol.Add obj, "A" & obj.ID
  '加入对象是,最好同时加入其KEY属性
  'KEY属性不能是数字型,因此在前面随便加个字母,这里加一个A
End Sub

Public Function Search(ByVal Str As String) As clsImages
  Dim rs As Recordset
  Dim Index As Long
  Dim obj As clsImage
  '按输入的参数查询,并返回一个集合类
  Dim strSQL As String
  
   strSQL = "select * from IImage where "
  
   strSQL = strSQL & "I_Label='" & Str & "'"
  

 
  '清空当前集合
  Me.Clear
  Set rs = g_Conn.Execute(strSQL)
  '往集合中添加查询结果
  For Index = 1 To rs.RecordCount
   Set obj = New clsImage

   With obj
                .ID = rs.Fields("I_ID").Value
                .Introduce = rs.Fields("I_Introduce").Value
                .IDate = rs.Fields("I_Date").Value
                .IName = rs.Fields("I_Name").Value
                .Label = Trim(rs.Fields("I_Label").Value)
                .IFormat = Trim(rs.Fields("I_Format").Value)
                .MaxX = Trim(rs.Fields("I_MaxX").Value)
                .MaxY = Trim(rs.Fields("I_MaxY").Value)
                .TypeID = rs.Fields("I_TypeID").Value
                .MinX = Trim(rs.Fields("I_MinX").Value)
                .MinY = Trim(rs.Fields("I_MinY").Value)
                .Proj = Trim(rs.Fields("I_Projection").Value)
                .Res = Trim(rs.Fields("I_Resolution").Value)
              
   End With
   Me.AddEx obj
   Set obj = Nothing
   rs.MoveNext
  Next Index
  Set rs = Nothing
  Set Search = Me
End Function
Public Function Research(ByVal Str As String) As clsImages
  Dim rs As Recordset
  Dim Index As Long
  Dim obj As clsImage
  '按输入的参数查询,并返回一个集合类
  Dim strSQL As String
  
   strSQL = "select * from IImage where "
  
   strSQL = strSQL & "I_Name='" & Str & "'"
  

 
  '清空当前集合
  Me.Clear
  Set rs = g_Conn.Execute(strSQL)
  '往集合中添加查询结果
  For Index = 1 To rs.RecordCount
   Set obj = New clsImage

   With obj
                .ID = rs.Fields("I_ID").Value
                .Introduce = rs.Fields("I_Introduce").Value
                .IDate = rs.Fields("I_Date").Value
                .IName = rs.Fields("I_Name").Value
                .Label = Trim(rs.Fields("I_Label").Value)
                .IFormat = Trim(rs.Fields("I_Format").Value)
                .MaxX = Trim(rs.Fields("I_MaxX").Value)
                .MaxY = Trim(rs.Fields("I_MaxY").Value)
                .TypeID = rs.Fields("I_TypeID").Value
                .MinX = Trim(rs.Fields("I_MinX").Value)
                .MinY = Trim(rs.Fields("I_MinY").Value)
                .Proj = Trim(rs.Fields("I_Projection").Value)
                .Res = Trim(rs.Fields("I_Resolution").Value)
                
   End With
   
   Me.AddEx obj
   Set obj = Nothing
   rs.MoveNext
  Next Index
  Set rs = Nothing
  Set Research = Me
End Function

⌨️ 快捷键说明

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