📄 myfield.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 = "MDD_Field"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'本模块表示一个字段。
Private TemDataType As Long '标志数据类型的一个变量.
Private TemValue As Variant '字段的值.
Public DefaultValue As Variant '默认值。
Public Name As String '字段名称.
Public Enum MDD_DataType '数据类型。
MddBoolean = vbBoolean '布尔型。
MddByte = vbByte '字节型。
mddInteger = vbInteger '整型。
MddLong = vbLong '长整型。
MddString = vbString '字符型。
End Enum
'1:MyByte字节型,占一个字节.
'2:MyInteger整数型,占两个字节.
'3:MyLong长整型,占四个字节.
'4:MyString字符型,根据字符长度点用相应字节.以0表示字符结束.(即比实际字符长度多一个字节).
'Const vbArray = 8192 (&H2000)
'Const vbBoolean = 11
'Const vbByte = 17 (&H11)
'Const vbCurrency = 6
'Const vbDataObject = 13
'Const vbDate = 7
'Const vbDecimal = 14
'Const vbDouble = 5
'Const vbEmpty = 0
'Const vbError = 10
'Const vbInteger = 2
'Const vbLong = 3
'Const vbNull = 1
'Const vbObject = 9
'Const vbSingle = 4
'Const vbString = 8
'Const vbUserDefinedType = 36 (&H24)
'Const vbVariant = 12
Public Property Get DataType() As MDD_DataType
DataType = TemDataType
End Property
Public Property Let DataType(ByVal InValue As MDD_DataType)
'在指定数据类型时确定默认值。
Select Case InValue
Case vbBoolean:
DefaultValue = False
Case vbByte:
DefaultValue = 0
Case vbInteger
DefaultValue = -1
Case vbLong:
DefaultValue = -1
Case vbString:
DefaultValue = ""
Case Else:
DefaultValue = Null
End Select
TemDataType = InValue
TemValue = DefaultValue
End Property
Public Property Get Value() As Variant
On Error GoTo GetValueErr
Select Case TemDataType '根据类型进行转换.
Case vbBoolean: '布尔型。
Value = CBool(TemValue)
Case vbByte: '字节型.
Value = CByte(TemValue)
Case vbInteger: '整型.
Value = CInt(TemValue)
Case vbLong: '长整型.
Value = CLng(TemValue)
Case vbString: '字符串型.
Value = CStr(TemValue)
Case Else: '其它类型.
Value = TemValue
End Select
Exit Property
GetValueErr:
'MsgBox "错误:" & Err.Number & Chr(13) & Err.Description, vbOKOnly, "错误..."
End Property
Public Property Let Value(ByVal InValue As Variant)
On Error GoTo LetValueErr
Select Case TemDataType '根据类型进行转换.
Case vbBoolean: '布尔型。
TemValue = CBool(InValue)
Case vbByte: '字节型.
TemValue = CByte(InValue)
Case vbInteger: '整型.
TemValue = CInt(InValue)
Case vbLong: '长整型.
TemValue = CLng(InValue)
Case vbString: '字符串型.
TemValue = CStr(InValue)
Case Else: '其它类型.
DefaultValue = Null
End Select
Exit Property
LetValueErr:
'MsgBox "错误:" & Err.Number & Chr(13) & Err.Description, vbOKOnly, "错误..."
End Property
Private Sub Class_Initialize()
'初始化,确定默认值.
Name = ""
TemDataType = vbByte
TemValue = 0
DefaultValue = 0
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -