📄 crossset.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 = "CrossSet"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
' MultiUse = -1 'True
' Persistable = 0 'NotPersistable
' DataBindingBehavior = 0 'vbNone
' DataSourceBehavior = 0 'vbNone
' MTSTransactionMode = 0 'NotAnMTSObject
'End
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 交叉表向导设置类
' 作者:邓强
' 日期:1998.06.26
'
' GetRepoertID 没有报表ID号时,根据向导类型得到向导报表ID号
' GetReportSet 从报表ID号得到设置
' GetSQL 得到SQL语句
' ShowWizard 显示向导窗口
' SaveCross 保存类到数据库
'
' 属性 属性说明
' ReportPrep '表类型0 向导
' OperatorID '操作员ID
' ReportID '报表ID
' Level '报表父节点层次
' ParentID '报表父节点ID
' ViewID '视图ID
' ReportName '报表名称
' IsRowSum '是否行汇总
' IsColSum '是否列汇总
' RowTotalMethod '行汇总方式
' ColTotalMethod '列汇总方式
'
' Columns '已选栏目数
' ColumnID() '栏目字段ID
' ColumnDesc() '栏目说明
' ColumnWidth() '栏目宽度
' ColumnStyle() '栏目类型
' ColumnFieldName() '栏目字段名称
' ColumnFieldType() '栏目字段类型
' ColumnNO() '栏目编号
'
' RowColumns As '行标题栏目数
' RowFieldName() '行标题字段名称
' RowLoc() '行标题在已选栏目中的位置
' ColColumns '列标题栏目数
' ColFieldName() '列标题字段名称
' ColTableName() '列标题表名
' ColLoc() '列标题在已选栏目中的位置
' DataFieldName '数据栏目字段名称
' DataLoc '数据栏目在已选栏目中的位置
'
' HeadColumns '已选表头栏目数
' HeadDesc() '表头栏目说明
' HeadFuncIndex() '表头栏目涵数索引
' HeadWidth() '表头栏目宽度
' HeadHeight() '表头栏目高度
' HeadLeft() '表头栏目左间距
' HeadTop() '表头栏目上间距
' TailColumns '已选表尾栏目数
' TailDesc() '表尾栏目说明
' TailFuncIndex() '表尾栏目涵数索引
' TailWidth() '表尾栏目宽度
' TailHeight() '表尾栏目高度
' TailLeft() '表尾栏目左间距
' TailTop() '表尾栏目上间距
' TitleWidth '报表标题宽度
' TitleHeight '报表标题高度
' TitleLeft '报表标题左间距
' TitleTop '报表标题上间距
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit
Private mstrTransform As String
Private mstrSelect As String
Private mstrWhere As String
Private mstrGroup As String
Private mstrFromBack As String 'SQL 的 FROM 备分(地区销售交叉表使用)
Private mvarFrom As String 'SQL 的 FROM 子句
Private marrCol() As String
'Private mvarSaveErr As Boolean '报表保存错误
Private mvarBudgetID As Long '预算方案ID(数据库:分页字段ID)
Private mvarReportPrep As Byte '表类型0 向导
Private mvarOperatorID As Long '操作员ID
Private mvarReportID As Long '报表ID
Private mvarPrintSetID As Long '报表打印设置ID
Private mvarVersion As Integer '报表版本号
Private mvarLevel As Integer '报表父节点层次
Private mvarParentID As Long '报表父节点ID
Private mvarGroupNo As Byte '报表分组号
Private mvarViewID As Long '视图ID
Private mvarReportName As String '报表名称
Private mvarReportCond As String '报表附加条件
Private mvarViewCond As String '报表View条件
Private mvarGridTop As Long '报表GRID顶端位置
Private mvarDefWidth As Long '报表数据列缺省宽度
Private mvarIsRowSum As Byte '是否行汇总
Private mvarIsColSum As Byte '是否列汇总
Private mvarRowTotalMethod As Byte '行汇总方式
Private mvarColTotalMethod As Byte '列汇总方式
Private mvarColumns As Integer '已选栏目数
Private mvarColumnID() As Long '栏目字段ID
Private mvarReportFieldID() As Long '栏目字段ID
Private mvarColumnDesc() As String '栏目说明
Private mvarColumnWidth() As Long '栏目宽度
Private mvarColumnHeight() As Long '栏目高度
Private mvarColumnLeft() As Long '栏目左间距
Private mvarColumnTop() As Long '栏目上间距
Private mvarColumnAlign() As Integer '栏目对齐方式
Private mvarColumnStyle() As Byte '栏目类型0 标准 1 分组 2 排序
Private mvarColumnChoosed() As Byte '是否已选栏目
Private mvarTableName() As String '栏目表名称
Private mvarFieldDesc() As String '栏目字段说明
Private mvarFieldName() As String '栏目字段名称
Private mvarFieldType() As String '栏目字段类型
Private mvarCodeName() As Byte '表头编码加名称
Private mvarFieldHead() As Integer '列表框栏目标志
Private mvarColumnNO() As Integer '栏目编号
Private mvarColumnFormat() As Byte '栏目字段格式化
Private mvarChoosedColumns As Integer '已选栏目数
Private mvarChoosedID() As Long '已选栏目ID
Private mvarChoosedLoc() As Integer '已选栏目位置
Private mvarListColumns As Integer '列表框栏目数
Private mvarListID() As Long '列表框字段ID
Private mvarListLoc() As Integer '列表框在已选栏目中的位置
Private mvarRowColumns As Integer '行标题栏目数
Private mvarRowFieldID() As Long '行标题字段ID
Private mvarRowLoc() As Integer '行标题在已选栏目中的位置
Private mvarColColumns As Integer '列标题栏目数
Private mvarColFieldID() As Long '列标题字段ID
Private mvarColLoc() As Integer '列标题在已选栏目中的位置
Private mvarDataColumns As Integer '数据栏目数
Private mvarDataFieldID() As Long '数据栏目字段ID
Private mvarDataLoc() As Integer '数据栏目在已选栏目中的位置
Private mvarTitleWidth As Long '标题宽度
Private mvarTitleHeight As Long '标题高度
Private mvarTitleLeft As Long '标题左间距
Private mvarTitleTop As Long '标题上间距
Private mvarTitleAlign As Integer '标题对齐方式
Private mvarCondShow As Byte '查询条件显示方式
Private mvarCondWidth As Long '查询条件宽度
Private mvarCondHeight As Long '查询条件高度
Private mvarCondLeft As Long '查询条件左间距
Private mvarCondTop As Long '查询条件上间距
Private mvarCondAlign As Integer '查询条件对齐方式
'''''''''''''''''''''''''''''''''''''''''''''''''''
' 标准表向导设置类属性
'
'''''''''''''''''''''''''''''''''''''''''''''''''''
Public Property Let FromBack(ByVal vData As String)
mstrFromBack = vData
End Property
Public Property Get ColCaption(ByVal ColumnIndex As Integer) As String
ColCaption = marrCol(ColumnIndex)
End Property
'预算方案ID
Public Property Let BudgetID(ByVal vData As Long)
mvarBudgetID = vData
End Property
Public Property Get BudgetID() As Long
BudgetID = mvarBudgetID
End Property
'表类型0 向导
Public Property Let ReportPrep(ByVal vData As Byte)
mvarReportPrep = vData
End Property
Public Property Get ReportPrep() As Byte
ReportPrep = mvarReportPrep
End Property
'操作员ID
Public Property Let OperatorID(ByVal vData As Long)
mvarOperatorID = vData
End Property
Public Property Get OperatorID() As Long
OperatorID = mvarOperatorID
End Property
'报表ID
Public Property Let ReportID(ByVal vData As Long)
mvarReportID = vData
End Property
Public Property Get ReportID() As Long
ReportID = mvarReportID
End Property
'报表打印设置ID
Public Property Get PrintSetId() As Long
PrintSetId = mvarPrintSetID
End Property
'报表父节点层次
Public Property Let Level(ByVal vData As Integer)
mvarLevel = vData
End Property
Public Property Get Level() As Integer
Level = mvarLevel
End Property
'报表父节点ID
Public Property Let ParentId(ByVal vData As Long)
mvarParentID = vData
End Property
Public Property Get ParentId() As Long
ParentId = mvarParentID
End Property
'报表分组号
Public Property Let GroupNo(ByVal vData As Byte)
mvarGroupNo = vData
End Property
Public Property Get GroupNo() As Byte
GroupNo = mvarGroupNo
End Property
'视图ID
Public Property Let ViewId(ByVal vData As Long)
mvarViewID = vData
End Property
Public Property Get ViewId() As Long
ViewId = mvarViewID
End Property
'报表名称
Public Property Let ReportName(ByVal vData As String)
mvarReportName = vData
End Property
Public Property Get ReportName() As String
ReportName = mvarReportName
End Property
'报表附加条件
Public Property Let ReportCond(ByVal vData As String)
mvarReportCond = vData
End Property
Public Property Get ReportCond() As String
ReportCond = mvarReportCond
End Property
'报表View条件
Public Property Let ViewCond(ByVal vData As String)
mvarViewCond = vData
End Property
Public Property Get ViewCond() As String
ViewCond = mvarViewCond
End Property
'报表GRID顶端位置
Public Property Let GridTop(ByVal vData As Long)
mvarGridTop = vData
End Property
Public Property Get GridTop() As Long
GridTop = mvarGridTop
End Property
'报表缺省数据列宽度
Public Property Let DefWidth(ByVal vData As Long)
mvarDefWidth = vData
End Property
Public Property Get DefWidth() As Long
DefWidth = mvarDefWidth
End Property
'SQL 的 FROM 子句
Public Property Let FROM(ByVal vData As String)
mvarFrom = vData
End Property
Public Property Get FROM() As String
FROM = mvarFrom
End Property
'是否行汇总
Public Property Let IsRowSum(ByVal vData As Byte)
mvarIsRowSum = vData
End Property
Public Property Get IsRowSum() As Byte
IsRowSum = mvarIsRowSum
End Property
'是否列汇总
Public Property Let IsColSum(ByVal vData As Byte)
mvarIsColSum = vData
End Property
Public Property Get IsColSum() As Byte
IsColSum = mvarIsColSum
End Property
'是否行汇总
Public Property Let RowTotalMethod(ByVal vData As Byte)
mvarRowTotalMethod = vData
End Property
Public Property Get RowTotalMethod() As Byte
RowTotalMethod = mvarRowTotalMethod
End Property
'是否列汇总
Public Property Let ColTotalMethod(ByVal vData As Byte)
mvarColTotalMethod = vData
End Property
Public Property Get ColTotalMethod() As Byte
ColTotalMethod = mvarColTotalMethod
End Property
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'已选栏目数
Public Property Let Columns(ByVal vData As Integer)
mvarColumns = vData
If mvarColumns = 0 Then Exit Property
ReDim mvarColumnID(vData - 1)
ReDim mvarReportFieldID(vData - 1)
ReDim mvarColumnDesc(vData - 1)
ReDim mvarColumnHeight(vData - 1)
ReDim mvarColumnWidth(vData - 1)
ReDim mvarColumnTop(vData - 1)
ReDim mvarColumnLeft(vData - 1)
ReDim mvarColumnAlign(vData - 1)
ReDim mvarColumnStyle(vData - 1)
ReDim mvarColumnChoosed(vData - 1)
ReDim mvarTableName(vData - 1)
ReDim mvarFieldDesc(vData - 1)
ReDim mvarFieldName(vData - 1)
ReDim mvarFieldType(vData - 1)
ReDim mvarFieldHead(vData - 1)
ReDim mvarColumnNO(vData - 1)
ReDim mvarCodeName(vData - 1)
ReDim mvarColumnFormat(vData - 1)
End Property
Public Property Get Columns() As Integer
Columns = mvarColumns
End Property
'栏目字段ID
Public Property Let ColumnID(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarColumnID(ColumnIndex) = vData
End Property
Public Property Get ColumnID(ByVal ColumnIndex As Integer) As Long
ColumnID = mvarColumnID(ColumnIndex)
End Property
'报表字段ID
Public Property Let ReportFieldID(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarReportFieldID(ColumnIndex) = vData
End Property
Public Property Get ReportFieldID(ByVal ColumnIndex As Integer) As Long
ReportFieldID = mvarReportFieldID(ColumnIndex)
End Property
'栏目说明
Public Property Let ColumnDesc(ByVal ColumnIndex As Integer, ByVal vData As String)
mvarColumnDesc(ColumnIndex) = vData
End Property
Public Property Get ColumnDesc(ByVal ColumnIndex As Integer) As String
ColumnDesc = mvarColumnDesc(ColumnIndex)
End Property
'栏目高度
Public Property Let ColumnHeight(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarColumnHeight(ColumnIndex) = vData
End Property
Public Property Get ColumnHeight(ByVal ColumnIndex As Integer) As Long
ColumnHeight = mvarColumnHeight(ColumnIndex)
End Property
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -