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

📄 frmbudgetanalize.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
Private Sub lstAll_DblClick()
    cmdToRight = True
End Sub

Private Sub lstSelectedItem_Click()
    cmdToLeft.Enabled = True
    If lstSelectedItem.ListIndex = 0 Then
        cmdUpWard.Enabled = False
    Else
        cmdUpWard.Enabled = True
    End If
    If lstSelectedItem.ListIndex = lstSelectedItem.ListCount - 1 Then
        cmdDownWard.Enabled = False
    Else
        cmdDownWard.Enabled = True
    End If
End Sub

Private Sub lstSelectedItem_DblClick()
    Dim blnIsIn As Boolean
    Dim intFixedCount As Integer
    cmdToLeft = True
    If lstSelectedItem.ListCount <= 0 Then
        cmdToLeft.Enabled = False
    End If
End Sub
Private Sub ReferText1_KeyPress(KeyAscii As Integer)
    mclsFilter.ReferText1_KeyPress Me, KeyAscii
End Sub

Private Sub ReferText2_KeyPress(KeyAscii As Integer)
    mclsFilter.ReferText2_KeyPress Me, KeyAscii
End Sub

Private Sub tabWizardPages_Click(PreviousTab As Integer)
    mlngStepNum = tabWizardPages.Tab + 1
    If mlngStepNum = 2 Then
        If txtReportName.Text = "" Then
            ComEnabled
            mlngStepNum = 1
            ShowStep
            cmdNextStep.Enabled = False
            txtReportName.SetFocus
            Exit Sub
        End If
    End If
    ComEnabled
End Sub
Private Sub tvwFilter_Collapse(ByVal Node As msComctlLib.Node)
    mclsFilter.tvwFilter_Collapse Me, Node
End Sub
Private Sub TxtFrom_KeyDown(KeyCode As Integer, Shift As Integer)
     mclsFilter.TxtFrom_KeyDown Me, KeyCode, Shift
End Sub
Private Sub txtReportName_GotFocus()
        txtReportName.SelStart = 0
        txtReportName.SelLength = Len(txtReportName.Text)
End Sub

Private Sub txtReportName_Change()
    If Trim(txtReportName) <> "" Then
        cmdNextStep.Enabled = True
    Else
        txtReportName.Text = Trim(txtReportName)
        mlngStepNum = 1
        ShowStep
        ComEnabled
        cmdNextStep.Enabled = False
    End If
End Sub

Private Sub txtReportName_LostFocus()
    txtReportName = Trim(txtReportName)
End Sub

'计算数据类型的值(权值)
Private Function CountDatatype(Optional blnCheckedType As Boolean) As Byte
    Dim intArrayIndex As Integer
    Dim bytType As Byte
    '数据类型
    bytType = 0
    If chkType(0) = 1 Then          '本币
        bytType = bytType + 8
    End If
    If chkType(1) = 1 Then          '数量
        bytType = bytType + 16
    End If
    If chkType(2) = 1 Then          '原币
        bytType = bytType + 32
    End If
    If chkType(3) = 1 Then          '含税本币
        bytType = bytType + 1
    End If
    If chkType(4) = 1 Then          '含税原币
        bytType = bytType + 2
    End If
    If bytType = 0 Then
        blnCheckedType = False
'        bytType = 8
    Else
        blnCheckedType = True
    End If
    CountDatatype = bytType
End Function
'初始化数据来源和数据类型以及帐务类型
Private Sub GetDataSource()
    Dim intRowIndex As Integer
    Dim intCount As Integer
    Dim rs As rdoResultset
    Dim strSql As String
    Dim strTempString As String
    Dim strTempString1 As String
    Dim strTempString2 As String
    Dim bytDataType As Byte
    Dim bytData(5) As Byte
    Dim bytTemp As Byte
    Dim Index As Byte
    Dim bytDataSource As Byte
    cboCond.ListIndex = mclsFinanceRptWiz.CondShow
    If mclsFinanceRptWiz.ReportIsFromWizard = False Then
        strSql = "Select * From ReportAnalysisData Where ReportAnalysisData.lngReportID = " & mclsFinanceRptWiz.ReportID
        Set rs = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
        With rs
            If .EOF = True Then
                rs.Close
                Exit Sub
            End If
            '数据来源
            mbytSelectedBudgetObjectID = !bytDataSource
            '预算方案名称
            If !strBudgetName <> "" Then
                comBudgetName.Text = !strBudgetName
                strTempString = !strBudgetName
            End If
            If mclsFinanceRptWiz.ViewId <> 321 Then
                strTempString2 = !strBudgetObject
                mstrSelectedBudgetIsTax = IIf(!blnIsTax = 1, True, False)
            End If
            grdChooseBudget.col = 2
            For intRowIndex = 1 To grdChooseBudget.Rows - 1
                grdChooseBudget.Row = intRowIndex
                If Trim(grdChooseBudget.TextMatrix(intRowIndex, 2)) = Trim(strTempString) Then
                    grdChooseBudget_Click
                    Exit For
                End If
            Next
            chkIncludeUnPosted.Value = !IncludeUnPosted
            If !intBudgetYear <> 0 Then
                comBudgetYear.Text = !intBudgetYear
            End If
            '数据类型
            If mclsFinanceRptWiz.ViewId = 321 Then      '财务预算分析
                bytDataType = !bytDataType
                For Index = 3 To 5
                    bytTemp = 2 ^ Index
                    bytTemp = bytDataType And bytTemp
                    If bytTemp <> 0 Then
                        If chkType(Index - 3).Enabled Then
                            chkType(Index - 3).Value = 1
                        Else
                            chkType(Index - 3).Value = 0
                        End If
                    Else
                        chkType(Index - 3).Value = 0
                    End If
                Next
                For Index = 3 To 4
                    bytTemp = 2 ^ (Index - 3)
                    bytTemp = bytDataType And bytTemp
                    If bytTemp <> 0 Then
                        If chkType(Index).Enabled Then
                            chkType(Index).Value = 1
                        Else
                            chkType(Index).Value = 0
                        End If
                    Else
                        chkType(Index).Value = 0
                    End If
                Next
            Else                                    '经营预算分析
                intCount = 1
                Index = 1
                strTempString1 = GetNoXString(strTempString2, intCount, ",")
                Do While strTempString1 <> ""
                    For Index = 0 To 2
                        If chkType(Index).Caption = strTempString1 Then
                            chkType(Index).Value = 1
                            Exit For
                        End If
                    Next
                    intCount = intCount + 1
                    strTempString1 = GetNoXString(strTempString2, intCount, ",")
                Loop
                mstrSelectedBudgetObjectName = strTempString2
            End If
        End With
        rs.Close
    Else
        '数据来源
        mbytSelectedBudgetObjectID = mclsFinanceRptWiz.DataSource
        '预算方案名称
        If mclsFinanceRptWiz.BudgetName <> "" Then
            comBudgetName.Text = mclsFinanceRptWiz.BudgetName
            strTempString = mclsFinanceRptWiz.BudgetName
        End If
        If mclsFinanceRptWiz.ViewId <> 321 Then
            strTempString2 = mclsFinanceRptWiz.BudgetObject
            mstrSelectedBudgetIsTax = IIf(mclsFinanceRptWiz.IsTax = 1, True, False)
        End If
        grdChooseBudget.col = 2
        For intRowIndex = 1 To grdChooseBudget.Rows - 1
            grdChooseBudget.Row = intRowIndex
            If Trim(grdChooseBudget.TextMatrix(intRowIndex, 2)) = Trim(strTempString) Then
                grdChooseBudget_Click
                Exit For
            End If
        Next
        chkIncludeUnPosted.Value = mclsFinanceRptWiz.IncludeUnPosted
        If mclsFinanceRptWiz.BudgetYear <> 0 Then
            comBudgetYear.Text = mclsFinanceRptWiz.BudgetYear
        End If
        '数据类型
        If mclsFinanceRptWiz.ViewId = 321 Then      '财务预算分析
            bytDataType = mclsFinanceRptWiz.DataType
            For Index = 3 To 5
                bytTemp = 2 ^ Index
                bytTemp = bytDataType And bytTemp
                If bytTemp <> 0 Then
                    chkType(Index - 3).Value = 1
                Else
                    chkType(Index - 3).Value = 0
                End If
            Next
            For Index = 3 To 4
                bytTemp = 2 ^ (Index - 3)
                bytTemp = bytDataType And bytTemp
                If bytTemp <> 0 Then
                    chkType(Index).Value = 1
                Else
                    chkType(Index).Value = 0
                End If
            Next
        Else                                    '经营预算分析
            intCount = 1
            Index = 1
            strTempString1 = GetNoXString(strTempString2, intCount, ",")
            Do While strTempString1 <> ""
                For Index = 0 To 2
                    If chkType(Index).Caption = strTempString1 Then
                        chkType(Index).Value = 1
                        Exit For
                    End If
                Next
                intCount = intCount + 1
                strTempString1 = GetNoXString(strTempString2, intCount, ",")
            Loop
            mstrSelectedBudgetObjectName = strTempString2
        End If
    End If
End Sub
'涮新按钮的 Enabled 属性
Private Sub ComEnabled(Optional blnIsComplete As Boolean)
    Dim strErrString As String
    If mlngStepNum = 1 Then
        cmdPriorStep.Enabled = False
    Else
        cmdPriorStep.Enabled = True
    End If
    If mlngStepNum = mintTempMaxStep Then
       cmdNextStep.Enabled = False
    Else
       cmdNextStep.Enabled = True
    End If
    If mlngStepNum = mintTempMaxStep Then
       cmdComplete.Enabled = True
    Else
       cmdComplete.Enabled = False
    End If
    If mlngStepNum >= 2 Then
        If txtReportName = "" Then
            ShowMsg Me.hwnd, "报表名不能为空!", vbExclamation + vbOKOnly, App.title
            cmdNextStep.Enabled = False
            txtReportName.SetFocus
            mlngStepNum = 1
            ShowStep
            blnIsComplete = False
            Exit Sub
        End If
        If NameIsErr(txtReportName, strErrString) = True Then
            ShowMsg Me.hwnd, "报表名称中包含非法字符" & strErrString & "!", vbExclamation + vbOKOnly, App.title
            cmdNextStep.Enabled = False
            txtReportName.SetFocus
            mlngStepNum = 1
            ShowStep
            blnIsComplete = False
            cmdComplete.Enabled = False
            Exit Sub
        End If
        mblnHasDeleted = False
    End If
    If mlngStepNum = 1 Then
        cmdComplete.Enabled = False
    End If
    If mlngStepNum = 3 Then
'        If MsgFilter.Rows <= 3 Then
'            cmdComplete.Enabled = False
'        End If
        CmdReset.Visible = True
        mstrReferPeriodType = ""
        mstrAnalyPeriodType = ""
    Else
        CmdReset.Visible = False
    End If
'    If CanComplete = False Then
'        cmdComplete.Enabled = False
'        mblnIsComplete = False
'    Else
'        cmdComplete.Enabled = True
'        mblnIsComplete = True
'    End If
    If mlngStepNum = 4 Then
        If mblnHasChooseBudget = False And mclsFinanceRptWiz.IsNewReport = True Then
            lstSelectedItem.Clear
        End If
    End If
    If lstSelectedItem.ListCount = 0 Or CountDatatype = 0 Then
        cmdComplete.Enabled = False
    End If
End Sub
'条件是否合法.
Private Function CondIsValid() As Boolean
    Dim blnIsTrue As Boolean
    Dim intResponseID As Integer
    Dim strMessage As String
    Dim blnIscheckedType As Boolean
    Dim lngPositionLine As Long
    If mlngStepNum = 3 Then
        mblnIsPeriodOver = PeriodCond
        blnIsTrue = JudgeIsInPeriod
        If mblnIsPeriodOver = False Then
            strMessage = "必须选择对比期。" & Chr(13) & "请重新设置条件。"
            ShowMsg Me.hwnd, strMessage, vbExclamation + vbOKOnly, App.title
            mlngStepNum = 3
            ShowStep
            ComEnabled
            CondIsValid = False
            Exit Function
        End If
        If blnIsTrue = False Then
            strMessage = "预算数的期间(对比

⌨️ 快捷键说明

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