📄 tableset.cls
字号:
Public Property Get HeadWidth(ByVal ColumnIndex As Integer) As Long
HeadWidth = mvarHeadWidth(ColumnIndex)
End Property
'表头栏目高度
Public Property Let HeadHeight(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarHeadHeight(ColumnIndex) = vData
End Property
Public Property Get HeadHeight(ByVal ColumnIndex As Integer) As Long
HeadHeight = mvarHeadHeight(ColumnIndex)
End Property
'表头栏目左间距
Public Property Let HeadLeft(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarHeadLeft(ColumnIndex) = vData
End Property
Public Property Get HeadLeft(ByVal ColumnIndex As Integer) As Long
HeadLeft = mvarHeadLeft(ColumnIndex)
End Property
'表头栏目上间距
Public Property Let HeadTop(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarHeadTop(ColumnIndex) = vData
End Property
Public Property Get HeadTop(ByVal ColumnIndex As Integer) As Long
HeadTop = mvarHeadTop(ColumnIndex)
End Property
'表头栏目对齐方式
Public Property Let HeadAlign(ByVal ColumnIndex As Integer, ByVal vData As Integer)
mvarHeadAlign(ColumnIndex) = vData
End Property
Public Property Get HeadAlign(ByVal ColumnIndex As Integer) As Integer
HeadAlign = mvarHeadAlign(ColumnIndex)
End Property
'已选表尾栏目数
Public Property Let TailColumns(ByVal vData As Integer)
mvarTailColumns = vData
If vData = 0 Then Exit Property
ReDim mvarTailDesc(vData - 1)
ReDim mvarTailFuncIndex(vData - 1)
ReDim mvarTailWidth(vData - 1)
ReDim mvarTailHeight(vData - 1)
ReDim mvarTailLeft(vData - 1)
ReDim mvarTailTop(vData - 1)
ReDim mvarTailAlign(vData - 1)
End Property
Public Property Get TailColumns() As Integer
TailColumns = mvarTailColumns
End Property
'表尾栏目说明
Public Property Let TailDesc(ByVal ColumnIndex As Integer, ByVal vData As String)
mvarTailDesc(ColumnIndex) = vData
End Property
Public Property Get TailDesc(ByVal ColumnIndex As Integer) As String
TailDesc = mvarTailDesc(ColumnIndex)
End Property
'表尾栏目涵数索引
Public Property Let TailFuncIndex(ByVal ColumnIndex As Integer, ByVal vData As Integer)
mvarTailFuncIndex(ColumnIndex) = vData
End Property
Public Property Get TailFuncIndex(ByVal ColumnIndex As Integer) As Integer
TailFuncIndex = mvarTailFuncIndex(ColumnIndex)
End Property
'表尾栏目宽度
Public Property Let TailWidth(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarTailWidth(ColumnIndex) = vData
End Property
Public Property Get TailWidth(ByVal ColumnIndex As Integer) As Long
TailWidth = mvarTailWidth(ColumnIndex)
End Property
'表尾栏目高度
Public Property Let TailHeight(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarTailHeight(ColumnIndex) = vData
End Property
Public Property Get TailHeight(ByVal ColumnIndex As Integer) As Long
TailHeight = mvarTailHeight(ColumnIndex)
End Property
'表尾栏目左间距
Public Property Let TailLeft(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarTailLeft(ColumnIndex) = vData
End Property
Public Property Get TailLeft(ByVal ColumnIndex As Integer) As Long
TailLeft = mvarTailLeft(ColumnIndex)
End Property
'表尾栏目上间距
Public Property Let TailTop(ByVal ColumnIndex As Integer, ByVal vData As Long)
mvarTailTop(ColumnIndex) = vData
End Property
Public Property Get TailTop(ByVal ColumnIndex As Integer) As Long
TailTop = mvarTailTop(ColumnIndex)
End Property
'表尾栏目对齐方式
Public Property Let TailAlign(ByVal ColumnIndex As Integer, ByVal vData As Integer)
mvarTailAlign(ColumnIndex) = vData
End Property
Public Property Get TailAlign(ByVal ColumnIndex As Integer) As Integer
TailAlign = mvarTailAlign(ColumnIndex)
End Property
'报表标题宽度
Public Property Let TitleWidth(ByVal vData As Long)
mvarTitleWidth = vData
End Property
Public Property Get TitleWidth() As Long
TitleWidth = mvarTitleWidth
End Property
'报表标题高度
Public Property Let TitleHeight(ByVal vData As Long)
mvarTitleHeight = vData
End Property
Public Property Get TitleHeight() As Long
TitleHeight = mvarTitleHeight
End Property
'报表标题左间距
Public Property Let TitleLeft(ByVal vData As Long)
mvarTitleLeft = vData
End Property
Public Property Get TitleLeft() As Long
TitleLeft = mvarTitleLeft
End Property
'报表标题上间距
Public Property Let TitleTop(ByVal vData As Long)
mvarTitleTop = vData
End Property
Public Property Get TitleTop() As Long
TitleTop = mvarTitleTop
End Property
'报表标题对齐方式
Public Property Let TitleAlign(ByVal vData As Integer)
mvarTitleAlign = vData
End Property
Public Property Get TitleAlign() As Integer
TitleAlign = mvarTitleAlign
End Property
'''''''''''''''''''''''''''''''''''''''''''''''''''
' 列表向导设置类方法
'
'''''''''''''''''''''''''''''''''''''''''''''''''''
'没有报表ID号时,根据向导类型得到向导报表ID号
Public Sub GetRepoertID(ByVal lngViewId As Long)
Dim rstReport As rdoResultset
Dim strSql As String
strSql = "SELECT Report.lngReportID,View1.strViewSQL FROM Report,View1 " & _
" WHERE Report.lngViewID =View1.lngViewID And " & _
" Report.bytPrep=0 and Report.bytWizard=5 and Report.lngViewID= " & lngViewId
Set rstReport = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
GetReportSet rstReport!lngReportID
Set rstReport = Nothing
End Sub
'从ID号得到设置
Public Sub GetReportSet(ByVal lngReportID As Long)
Dim rstView As rdoResultset
Dim strSql As String
On Error GoTo ErrHandle
mvarBusy = False
strSql = "SELECT View1.strViewSQL FROM View1,Report " & _
"WHERE View1.lngviewId=Report.lngViewID And Report.lngreportID=" & lngReportID
Set rstView = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
mvarFrom = "FROM " & rstView!strViewSQL
Set rstView = Nothing
mvarReportID = lngReportID
GetReport
GetField
GetHeadTail
Exit Sub
ErrHandle:
mvarBusy = True
End Sub
'得到Report表内容
Private Sub GetReport()
Dim rstReport As rdoResultset
Dim strSql As String, strName As String
strSql = "SELECT Report.* FROM Report WHERE Report.lngReportID = " & mvarReportID
Set rstReport = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
If rstReport.EOF Then
' Utility.ShowMsg frmMain.hwnd, "没打开记录集!", vbOKOnly, App.title
Exit Sub
End If
On Error Resume Next
With rstReport
mvarOperatorID = !lngOperatorID
mvarGroupNo = !bytGroup
mvarViewID = !lngViewId
mvarReportPrep = !bytPrep
mvarVersion = !bytVersion
mvarLevel = !intLevel
mvarParentID = !lngParentId
mvarReportName = !strReportName
mvarReportCond = IIf(IsNull(!strExtraCond), "", !strExtraCond)
mvarFrom = !strFrom
mvarGridTop = !intGridTop
End With
strSql = "SELECT View1.* FROM View1 WHERE View1.lngViewID = " & mvarViewID
Set rstReport = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
If rstReport.EOF Then
' Utility.ShowMsg frmMain.hwnd, "没打开记录集!", vbOKOnly, App.title
Exit Sub
End If
strName = rstReport!STRVIEWWHERE.GetChunk(5000)
If strName <> "" Then
If mvarReportCond = "" Then
mvarReportCond = strName
Else
mvarReportCond = strName & " And " & mvarReportCond
End If
End If
Set rstReport = Nothing
If mvarViewID > 326 And mvarViewID < 333 Then StandardReport.DealCustom mvarViewID - 327
End Sub
'得到字段内容
Private Sub GetField()
Dim intCount As Integer
Dim rstReport As rdoResultset
Dim strCondVersion As String
Dim strSql As String
#If conVersionType = 1 Then
strCondVersion = " And MOD(ViewField.bytVersion,2)>0 "
#Else
#If conVersionType = 2 Then
strCondVersion = " And MOD(ViewField.bytVersion,4)>1 "
#Else
#If conVersionType = 4 Then
strCondVersion = " And MOD(ViewField.bytVersion,8)>3 "
#Else
#If conVersionType = 8 Then
strCondVersion = " And MOD(ViewField.bytVersion,16)>7 "
#Else
strCondVersion = " And MOD(ViewField.bytVersion,32)>15 "
#End If
#End If
#End If
#End If
'对已选栏目
strSql = "SELECT ReportField.*,ViewField.* FROM ReportField,ViewField WHERE " & _
" ReportField.lngViewFieldID =ViewField.lngViewFieldID And ReportField.lngReportID =" _
& mvarReportID & " And ReportField.blnIsChoosed=1 " & strCondVersion _
& " ORDER BY ReportField.lngReportFieldNO "
Set rstReport = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
If rstReport.EOF Then
' Utility.ShowMsg frmMain.hwnd, "没打开Field表!", vbOKOnly, App.title
Exit Sub
End If
On Error Resume Next
With rstReport
Columns = .RowCount
intCount = 0
Do While Not .EOF
mvarColumnID(intCount) = !lngViewFieldID
mvarColumnDesc(intCount) = !strReportFieldDesc
mvarColumnWidth(intCount) = !lngDisplayWidth
mvarColumnFieldName(intCount) = !strFieldName
mvarColumnFieldType(intCount) = !strFieldType
.MoveNext
intCount = intCount + 1
Loop
End With
Set rstReport = Nothing
On Error GoTo 0
End Sub
'取表头表尾栏目
Private Sub GetHeadTail()
Dim intCount As Integer
Dim rstReport As rdoResultset
Dim strSql As String
'取表头栏目
strSql = "SELECT * FROM ReportHeadTail WHERE lngReportID=" & mvarReportID & " AND bytFieldType=1 ORDER BY intFieldNO "
Set rstReport = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
With rstReport
If Not .EOF Then
HeadColumns = .RowCount
For intCount = 0 To mvarHeadColumns - 1
mvarHeadDesc(intCount) = !strFieldDesc
mvarHeadFuncIndex(intCount) = !intFuncIndex
mvarHeadWidth(intCount) = !lngFieldWidth
mvarHeadHeight(intCount) = !lngFieldHeight
mvarHeadLeft(intCount) = !lngFieldLeft
mvarHeadTop(intCount) = !lngFieldTop
mvarHeadAlign(intCount) = IIf(IsNull(!intAlign), 9, !intAlign)
.MoveNext
Next
End If
End With
'取表尾栏目
strSql = "SELECT * FROM ReportHeadTail WHERE lngReportID=" _
& mvarReportID & " AND bytFieldType=2 ORDER BY intFieldNO "
Set rstReport = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
With rstReport
If Not .EOF Then
TailColumns = .RowCount
For intCount = 0 To mvarTailColumns - 1
mvarTailDesc(intCount) = !strFieldDesc
mvarTailFuncIndex(intCount) = !intFuncIndex
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -