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

📄 tableset.cls

📁 金算盘软件代码
💻 CLS
📖 第 1 页 / 共 3 页
字号:
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 + -