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

📄 financereportwizard.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
                Case 1, 2, 4
                    cmdComplete.Enabled = False
                    cmdNextStep.Enabled = False
                Case Else
                    cmdComplete.Enabled = True
                    cmdNextStep.Enabled = True
            End Select
        End If
    End If
End Sub
'将已选栏目全部加入到可选栏目中
Private Sub cmdAllToLeft_Click()
    Dim intListCount As Integer
    Dim blnIsIn As Boolean
    Dim intFixedCount As Integer
    intFixedCount = 0
    For intListCount = 0 To lstSelectedItem.ListCount - 1
        For intFixedCount = 0 To intFixedColumns
            If lstSelectedItem.list(intListCount) = strFixedColumnsString(intFixedCount) Then
                blnIsIn = True
            Else
                blnIsIn = False
            End If
        
            If blnIsIn = True Then
                Exit For
            End If
        Next intFixedCount
        If blnIsIn = False Then
            lstAll.AddItem lstSelectedItem.list(intListCount)
        End If
    Next intListCount
    intFixedCount = 0
    intListCount = lstSelectedItem.ListCount - 1
    Do While intListCount >= 0
        For intFixedCount = 0 To intFixedColumns
            If lstSelectedItem.list(intListCount) = strFixedColumnsString(intFixedCount) Then
                blnIsIn = True
            Else
                blnIsIn = False
            End If
            If blnIsIn = True Then
                Exit For
            End If
        Next intFixedCount
        If blnIsIn = False Then
            lstSelectedItem.RemoveItem intListCount
        End If
        intListCount = intListCount - 1
    Loop
    cmdToRight.Enabled = False
    cmdAllToRight.Enabled = True
    cmdAllToLeft.Enabled = False
    If lstSelectedItem.ListCount <= 0 Then
        cmdToLeft.Enabled = False
        cmdUpWard.Enabled = False
        cmdDownWard.Enabled = False
        cmdComplete.Enabled = False
        chkVertical.Enabled = False
    End If
    chkVertical.Value = 0
    AddSortedColumns
End Sub

Private Sub cmdAllToRight_Click()
    Dim intListCount As Integer
    Dim blnIsComplete As Boolean
    For intListCount = 0 To lstAll.ListCount - 1
        lstSelectedItem.AddItem lstAll.list(intListCount)
    Next intListCount
    intListCount = lstAll.ListCount - 1
    Do While intListCount >= 0
        lstAll.RemoveItem intListCount
        intListCount = intListCount - 1
    Loop
    cmdToLeft.Enabled = False
    cmdAllToLeft.Enabled = True
    If lstAll.ListCount <= 0 Then
        cmdToRight.Enabled = False
        cmdAllToRight.Enabled = False
    End If
    ComEnabled
    If mblnIsComplete = True Then
        cmdComplete.Enabled = True
    Else
        cmdComplete.Enabled = False
    End If
    If mclsFinanceRptWiz.AccountTypeID <> 55 Then
        If CountDatatype > 0 Then
            cmdComplete.Enabled = True
        Else
            cmdComplete.Enabled = False
        End If
    End If
    AddSortedColumns
End Sub
Private Sub CmdCancel_Click()
    mblnOk = False
    mintStepNow = 0
    mintTabIndex = 0
    Unload Me
End Sub
'进销存报表应有商品编码或者商品名称
Private Function StockHasItem() As Boolean
    Dim intCount As Integer
    For intCount = 0 To lstSelectedItem.ListCount - 1
        If InStr(1, lstSelectedItem.list(intCount), "商品") > 0 Then
            StockHasItem = True
            Exit Function
        Else
            StockHasItem = False
        End If
    Next
End Function
Private Sub cmdComplete_Click()
    Dim intCount As Integer
    Dim intArrIndex As Integer
    Dim strReportName As String
    Dim blnIsSameName As Boolean
    Dim frmNewReportName As New frmReportSameName
    Dim strErrString As String
    Dim intDataColumnsCount As Integer
    If Not CondIsValid(True) Then
        Exit Sub
    End If
    If mclsFinanceRptWiz.ViewId = 657 Or mclsFinanceRptWiz.ViewId = 658 Then
        '是否有包含未记帐凭证的条件
        JudgeIsInPeriod True
    End If
    If CanComplete = False Then 'Or (mstrAnalyPeriodType = mstrReferPeriodType And (Trim(mstrAnalyPeriodType) <> "自定义" Or Trim(mstrReferPeriodType) <> "自定义")) Then
        ShowMsg Me.hWnd, "条件不足,请重新设置条件。", vbExclamation + vbOKOnly, App.title
        cmdComplete.Enabled = False
        Exit Sub
    End If
    If tabWizardPages.TabVisible(2) = False And mclsFinanceRptWiz.ViewId <> 547 Then
        If HaveDataColumn(intDataColumnsCount) = False Then
            ShowMsg Me.hWnd, "应至少选择一项数据列。", vbExclamation + vbOKOnly, App.title
            Exit Sub
        Else
            If intDataColumnsCount > 3 Then
                ShowMsg Me.hWnd, "数据列数目不应超过三个。", vbExclamation + vbOKOnly, App.title
                Exit Sub
            End If
        End If
        If HaveFixedColumn = False Then
            ShowMsg Me.hWnd, "应至少选择一项非数据列作为报表的固定列。", vbExclamation + vbOKOnly, App.title
            Exit Sub
        End If
    End If
    mblnOk = True
    mclsFinanceRptWiz.ReportName = strReportName
    With lstSelectedItem
        mclsFinanceRptWiz.DataColumns = 0
        mclsFinanceRptWiz.Columns = .ListCount
        For intCount = 0 To .ListCount - 1
            mclsFinanceRptWiz.ColumnDesc(intCount + 1) = GetNoXString(.list(intCount), 1, Space(100))
            mclsFinanceRptWiz.ColumnFieldName(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 1, "`")
            mclsFinanceRptWiz.ColumnWidth(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 2, "`")
            mclsFinanceRptWiz.ColumnIsFix(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 4, "`")
            mclsFinanceRptWiz.ColumnFieldID(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 5, "`")
            mclsFinanceRptWiz.ColumnFieldType(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 6, "`")
            mclsFinanceRptWiz.ColumnFieldSize(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 7, "`")
            mclsFinanceRptWiz.ColumnCombine(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 9, "`")
            mclsFinanceRptWiz.ColumnTableName(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 13, "`")
            mclsFinanceRptWiz.ColumnIsChoosed(intCount + 1) = 1
            mclsFinanceRptWiz.IsHeadColumn(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 10, "`")
            If Not mclsFinanceRptWiz.IsHeadColumn(intCount + 1) Then
                mclsFinanceRptWiz.DataColumns = mclsFinanceRptWiz.DataColumns + 1
            End If
            
                mclsFinanceRptWiz.ColumnSort(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 11, "`")
                mclsFinanceRptWiz.ColumnSortNo(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 12, "`")
                mclsFinanceRptWiz.ColumnOrderType(intCount + 1) = GetNoXString(GetNoXString(.list(intCount), 2, Space(100)), 3, "`")
            
        Next intCount
    End With
    mclsFilter.KeyID = mclsFinanceRptWiz.ReportID
    UpdateCond
    gclsSys.SendMessage Me.hWnd, msgReport
    Unload Me
End Sub
Private Function HaveDataColumn(DataColumnsCount As Integer) As Boolean
    Dim intCount As Integer
    Dim blnIsnotHead As Boolean
    DataColumnsCount = 0
    For intCount = 0 To lstSelectedItem.ListCount - 1
        blnIsnotHead = GetNoXString(GetNoXString(lstSelectedItem.list(intCount), 2, Space(100)), 10, "`")
        If blnIsnotHead = False Then
            DataColumnsCount = DataColumnsCount + 1
        End If
    Next
    If DataColumnsCount > 0 Then
        HaveDataColumn = True
    Else
        HaveDataColumn = False
    End If
End Function
Private Function HaveFixedColumn() As Boolean
    Dim intCount As Integer
    Dim blnIsnotHead As Boolean
    For intCount = 0 To lstSelectedItem.ListCount - 1
        blnIsnotHead = GetNoXString(GetNoXString(lstSelectedItem.list(intCount), 2, Space(100)), 10, "`")
        If blnIsnotHead = True Then
            HaveFixedColumn = True
            Exit For
        Else
            HaveFixedColumn = False
        End If
    Next
End Function
'同一目录下报表是否同名同类型
Public Function FindSameName(ByVal strName As String, ByVal bytGroup As Byte, Optional ByVal lngReportID As Long = 0) As Boolean
    Dim strSql As String
    Dim rstName As rdoResultset
    strSql = "SELECT * FROM Report WHERE Report.strReportName='" & strName _
             & "' And Report.bytGroup= " & bytGroup & " And lngReportID <> " & lngReportID
    Set rstName = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    If rstName.RowCount = 0 Then
        FindSameName = False
    Else
        FindSameName = True
    End If
    rstName.Close
End Function
'设置栏目顺序(向下)
Private Sub cmdDownWard_Click()
    '设置一些中间变量
    Dim intTempIndex1 As Integer
    Dim intTempIndex2 As Integer
    Dim strTempText As String
    intTempIndex1 = lstSelectedItem.ListIndex                       '当前所选项目的ListIndex
    strTempText = lstSelectedItem.Text                              '当前项目的Text值
    intTempIndex2 = lstSelectedItem.ListIndex + 1                   '当前项目的后一个项目
    lstSelectedItem.RemoveItem intTempIndex1
    lstSelectedItem.AddItem strTempText, intTempIndex2
    lstSelectedItem.ListIndex = lstSelectedItem.NewIndex
    If lstSelectedItem.ListIndex = lstSelectedItem.ListCount - 1 Then
        cmdDownWard.Enabled = False
    End If
    chkVertical.Value = 0
    AddSortedColumns
End Sub

Private Sub cmdNextStep_Click()
    If tabWizardPages.TabVisible(2) = False Then
        If mlngStepNum = 2 Then
            mlngStepNum = 4
        End If
    End If
    If mlngStepNum = 0 Then
        mlngStepNum = mlngStepNum + 1
    End If
    If mlngStepNum < mintTempMaxStep Then
       mlngStepNum = mlngStepNum + 1
'    Else
'       mlngStepNum = mintTempMaxStep
    End If
    If mlngStepNum > 2 Then
        If CondIsValid = False Then
            Exit Sub
        End If
    End If
    ShowStep
    ComEnabled
End Sub

Private Sub cmdPriorStep_Click()
    If mlngStepNum > 1 Then
       mlngStepNum = mlngStepNum - 1
    End If
    ShowStep
    ComEnabled
End Sub

Private Sub cmdToLeft_Click()
    Dim strRemoveString As String
    Dim lstIndex As Integer
    lstIndex = lstSelectedItem.ListIndex
    strRemoveString = Trim(GetNoXString(lstSelectedItem.Text, 1, " "))
    If lstSelectedItem.Text <> "" Then
        lstAll.AddItem lstSelectedItem.Text
        lstSelectedItem.RemoveItem lstSelectedItem.ListIndex
        cmdToRight.Enabled = False
        cmdToLeft.Enabled = False
        cmdAllToRight.Enabled = True
        cmdUpWard.Enabled = False
        cmdDownWard.Enabled = False
    End If
    If lstSelectedItem.ListCount > 0 Then
        If lstIndex <= lstSelectedItem.ListCount - 1 Then
            lstSelectedItem.ListIndex = lstIndex
        ElseIf lstIndex > lstSelectedItem.ListCount - 1 Then
             lstSelectedItem.ListIndex = lstIndex - 1
        End If
    End If
    If lstSelectedItem.ListCount <= 0 Then
        cmdToLeft.Enabled = False
        cmdAllToLeft.Enabled = False
        cmdUpWard.Enabled = False
        cmdDownWard.Enabled = False
        cmdComplete.Enabled = False
        chkVertical.Enabled = False
    End If
    If comAnalyColumn.Visible = True And comAnalyColumn.Text <> "" Then
        mstrAnalyCol = comAnalyColumn.Text
        If strRemoveString <> mstrAnalyCol Then
            comAnalyColumn.ClearRefer
            comAnalyColumn.Text = mstrAnalyCol
        ElseIf strRemoveString = mstrAnalyCol Then
            chkVertical.Value = 0
        End If
        If lstSelectedItem.ListIndex = -1 Then
            cmdToLeft.Enabled = False
        End If
    ElseIf comAnalyColumn.Visible = True And comAnalyColumn.Text = "" Then
            comAnalyColumn.ClearRefer
    End If
    AddSortedColumns
End Sub

Private Sub cmdToRight_Click()
    Dim lstIndex As Integer
    lstIndex = lstAll.ListIndex
    If lstAll.Text <> "" Then
        lstSelectedItem.AddItem lstAll.Text
        lstAll.RemoveItem lstAll.ListIndex
        cmdToRight.Enabled = False
        cmdToLeft.Enabled = False
        cmdAllToLeft.Enabled = True
    End If
    If lstAll.ListCount > 0 Then
        If lstIndex <= lstAll.ListCount - 1 Then
            lstAll.ListIndex = lstIndex
        ElseIf lstIndex > lstAll.ListCount - 1 Then
            lstAll.ListIndex = lstIndex - 1
        End If
    End If
    If lstAll.ListCount <= 0 Then
        cmdToRight.Enabled = False
        cmdAllToRight.Enabled = False
    End If
    ComEnabled
    If mblnIsComplete = True Then
        cmdComplete.Enabled = True
    Else
        cmdComplete.Enabled = False
    End If
    If mclsFinanceRptWiz.AccountTypeID <> 55 Then
        If CountDatatype > 0 Then
            cmdComplete.Enabled = True
        Else
            cmdComplete.Enabled = False
        End If
    End If

⌨️ 快捷键说明

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