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

📄 frmac_detailresult.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
End Sub

Private Sub Form_Resize()
    On Error Resume Next
    Cllr.Width = Me.ScaleWidth - 100
    Cllr.Height = Me.ScaleHeight - 200
End Sub

'窗体卸载前, 检查账页的列宽是否被调整
Private Sub Form_Unload(Cancel As Integer)
    'Cancel = 1
    If IsColChange(Me.Cllr, m_iColWidth) = True Then
        If MsgBox(usAccountFormat & "账簿格式已经改变,是否保存?", _
                    vbQuestion + vbYesNo + vbDefaultButton2) = vbYes Then
            Call SaveColChange(m_iColWidth, usAccountType, usAccountFormat)
        End If
    End If
    TbrControl True
    m_Mutex.DeleteMutexID gloSys.sSubSysId, glo.sAccountID, "mnuAccountDetail", m_iID
End Sub

Private Sub SetGrid(ByVal PageNo As Long, Optional ByVal FactRows As Long)
    Dim i As Long, j As Long
    Dim iAmountLen As Integer       '数量单位字符串的长度
    Dim iForeignlen As Integer      '外币单位字符串的长度
    Dim iPageNoLen As Integer       '页号字符串的长度
    Dim maxLen As Integer           '最大字符串的长度
    
    With Cllr
        .SetCurSheet PageNo - 1
        .SetRows FactRows, PageNo - 1
        .SetCols COL_END + 2, PageNo - 1
        .SetSelectMode PageNo - 1, 2
        .SetFixedCol COL_START, COL_BILL
        .SetFixedRow ROW_TITLE, ROW_HEAD2

'        .PrintSetOrient 1
        .ShowSideLabel 0, PageNo - 1                      '行标不可见
        .ShowTopLabel 0, PageNo - 1                  '列标不可见

        If g_CH = -1 Then
            .SetDefaultRowHeight PageNo - 1, 1, 23
        End If
        
    'Title
        .SetCellAlign COL_START, ROW_TITLE, PageNo - 1, 36
         .SetCellFont COL_START, ROW_TITLE, PageNo - 1, .FindFontIndex("黑体", 1)
         .SetCellFontSize COL_START, ROW_TITLE, PageNo - 1, 19
         .SetCellFontStyle COL_START, ROW_TITLE, PageNo - 1, 10
        .MergeCells COL_START, ROW_TITLE, COL_END, ROW_TITLE
        .SetCellString COL_START, ROW_TITLE, PageNo - 1, m_sGeneralSubjectName & "明细账"
        .SetRowHeight 1, 40, ROW_TITLE, PageNo - 1
    'Comment
        .SetRowHeight 1, 20, ROW_ACCOUNTFORMAT, PageNo - 1
        .SetRowHeight 1, 20, ROW_SUBJCODE, PageNo - 1
        .SetRowHeight 1, 20, ROW_SUBJNAME, PageNo - 1
        .MergeCells COL_START, ROW_SUBJNAME, COL_BALANCE_FOREIGN, ROW_SUBJNAME
        .MergeCells COL_BALANCE_MONEY, ROW_SUBJNAME, COL_END, ROW_SUBJNAME
        '如果是数量账或者外币账, 则设置数量单位和外币单位格
        
        If m_bAmount Or m_bForeign Then
            If m_bAmount And m_bForeign Then
                .MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_BALANCE_FOREIGN, ROW_ACCOUNTFORMAT
                .MergeCells COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
                .SetCellFont COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
                .SetCellFontSize COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 10
                .SetCellFontStyle COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 0
                .SetCellAlign COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 34
            Else
                .MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
            End If
            
            .MergeCells COL_START, ROW_SUBJCODE, COL_BALANCE_FOREIGN, ROW_SUBJCODE
            .MergeCells COL_BALANCE_MONEY, ROW_SUBJCODE, COL_END, ROW_SUBJCODE
            .SetCellFont COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
            .SetCellFontSize COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 10
            .SetCellFontStyle COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 0
            .SetCellAlign COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 34
        Else
            .MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_BALANCE_FOREIGN, ROW_ACCOUNTFORMAT
            .MergeCells COL_BALANCE_FOREIGN + 1, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
            .MergeCells COL_START, ROW_SUBJCODE, COL_END, ROW_SUBJCODE
        End If

        .SetCellFont COL_START, ROW_SUBJCODE, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
        .SetCellFontSize COL_START, ROW_SUBJCODE, PageNo - 1, 10
        .SetCellFontStyle COL_START, ROW_SUBJCODE, PageNo - 1, 0
        .SetCellFont COL_START, ROW_SUBJNAME, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
        .SetCellFontSize COL_START, ROW_SUBJNAME, PageNo - 1, 10
        .SetCellFontStyle COL_START, ROW_SUBJNAME, PageNo - 1, 0
        .SetCellAlign COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 34
        .SetCellFont COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
        .SetCellFontSize COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 10
        .SetCellFontStyle COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 0
        .SetCellString COL_START, ROW_SUBJCODE, PageNo - 1, "科目代码:" & m_sPrintSubjectCode + "                                   " + IIf(m_sZY <> "", "摘要:" + m_sZY + "           ", "") & IIf(StartJe + EndJe <> 0, " 金额范围:" + CStr(StartJe) + IIf(EndJe <> 0, " — " + CStr(EndJe), ""), "")
        .SetCellString COL_START, ROW_SUBJNAME, PageNo - 1, "科目名称:" & m_sPrintSubjectName
        
        '为了左对齐, 在字符串尾部加空格;
        If m_bAmount Then
            iAmountLen = LenB("数量单位:" & m_sSldw)
            iForeignlen = LenB("外币币名:" & m_sWbdw)
            iPageNoLen = LenB("第" & "页") + Len(CStr(PageNo)) + 2
            If iAmountLen > iForeignlen Then
                maxLen = iAmountLen
            Else
                maxLen = iForeignlen
            End If
            If m_bForeign Then
                .SetCellString COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, "数量单位:" & m_sSldw & _
                                String(maxLen - iAmountLen, " ")
                .SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "外币币名:" & m_sWbdw & _
                                String(maxLen - iForeignlen, " ")
            Else
                .SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "数量单位:" & m_sSldw & _
                                String(maxLen - iAmountLen, " ")
            End If
        ElseIf m_bForeign Then
            .SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "外币币名:" & m_sWbdw & _
                                String(maxLen - iForeignlen, " ")
        End If
        .SetCellString COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, "总    页   第 " & CStr(PageNo) & " 页" & _
                                String(maxLen - iPageNoLen, " ")
    'Head
        For i = ROW_HEAD1 To ROW_HEAD2
            For j = COL_START To COL_END
                .SetCellAlign j, i, PageNo - 1, 36
                .SetCellTextStyle j, i, PageNo - 1, 2
            .SetCellFont j, i, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
            .SetCellFontSize j, i, PageNo - 1, 10
            .SetCellFontStyle j, i, PageNo - 1, 2
            Next j
        Next i
        
        '设置列宽
        For i = LBound(m_iColWidth) To UBound(m_iColWidth)
            .SetColWidth 1, m_iColWidth(i), i, PageNo - 1
        Next i
        .SetColWidth 1, 3, COL_END + 1, PageNo - 1
        
        '合并单元格
        .MergeCells COL_SERIAL, ROW_HEAD1, COL_SERIAL, ROW_HEAD2
        .MergeCells COL_MONTH, ROW_HEAD1, COL_DAY, ROW_HEAD1
        .MergeCells COL_TYPE, ROW_HEAD1, COL_BILL, ROW_HEAD1
        .MergeCells COL_SUMMARY, ROW_HEAD1, COL_SUMMARY, ROW_HEAD2
        .MergeCells COL_UNIT_PRICE, ROW_HEAD1, COL_UNIT_PRICE, ROW_HEAD2
        .MergeCells COL_EXCHANGE_RATE, ROW_HEAD1, COL_EXCHANGE_RATE, ROW_HEAD2
        .MergeCells COL_DEBIT_MONEY, ROW_HEAD1, COL_DEBIT_MONEY, ROW_HEAD2
        .MergeCells COL_CREDIT_MONEY, ROW_HEAD1, COL_CREDIT_MONEY, ROW_HEAD2
        .MergeCells COL_DIRECTION, ROW_HEAD1, COL_DIRECTION, ROW_HEAD2
        .MergeCells COL_BALANCE_MONEY, ROW_HEAD1, COL_BALANCE_MONEY, ROW_HEAD2
        .MergeCells COL_SEPARATE, ROW_HEAD1, COL_SEPARATE, ROW_HEAD2
        .MergeCells COL_MAN, ROW_HEAD1, COL_MAN, ROW_HEAD2
        .MergeCells COL_LOGOUT_YEAR, ROW_HEAD1, COL_LOGOUT_NUMBER, ROW_HEAD1
        
        '设置内容
        .SetCellString COL_SERIAL, ROW_HEAD1, PageNo - 1, "序号"
        .SetCellString COL_MONTH, ROW_HEAD1, PageNo - 1, m_sYear & "年"
        .SetCellString COL_MONTH, ROW_HEAD2, PageNo - 1, "月"
        .SetCellString COL_DAY, ROW_HEAD2, PageNo - 1, "日"
        .SetCellString COL_TYPE, ROW_HEAD1, PageNo - 1, "记账凭证"
        .SetCellString COL_TYPE, ROW_HEAD2, PageNo - 1, "种类"
        .SetCellString COL_NUMBER, ROW_HEAD2, PageNo - 1, "号数"
        .SetCellString COL_BILL, ROW_HEAD2, PageNo - 1, "单据号"
        .SetCellString COL_SUMMARY, ROW_HEAD1, PageNo - 1, "摘要"
        .SetCellString COL_UNIT_PRICE, ROW_HEAD1, PageNo - 1, "单价"
        .SetCellString COL_EXCHANGE_RATE, ROW_HEAD1, PageNo - 1, "汇率"
        .SetCellString COL_DEBIT_MONEY, ROW_HEAD1, PageNo - 1, "借方"
        .SetCellString COL_DEBIT_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
        .SetCellString COL_DEBIT_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
        .SetCellString COL_DEBIT_MONEY, ROW_HEAD2, PageNo - 1, "金额"
        .SetCellString COL_CREDIT_MONEY, ROW_HEAD1, PageNo - 1, "贷方"
        .SetCellString COL_CREDIT_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
        .SetCellString COL_CREDIT_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
        .SetCellString COL_CREDIT_MONEY, ROW_HEAD2, PageNo - 1, "金额"
        .SetCellString COL_DIRECTION, ROW_HEAD1, PageNo - 1, "方向"
        .SetCellString COL_BALANCE_MONEY, ROW_HEAD1, PageNo - 1, "余额"
        .SetCellString COL_BALANCE_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
        .SetCellString COL_BALANCE_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
        .SetCellString COL_BALANCE_MONEY, ROW_HEAD2, PageNo - 1, "金额"
        .SetCellString COL_MAN, ROW_HEAD1, PageNo - 1, "会计事项原处理人"
        .SetCellString COL_LOGOUT_YEAR, ROW_HEAD1, PageNo - 1, "注销的对方"
        .SetCellString COL_LOGOUT_YEAR, ROW_HEAD2, PageNo - 1, "年"
        .SetCellString COL_LOGOUT_MONTH, ROW_HEAD2, PageNo - 1, "月"
        .SetCellString COL_LOGOUT_DAY, ROW_HEAD2, PageNo - 1, "日"
        .SetCellString COL_LOGOUT_TYPE, ROW_HEAD2, PageNo - 1, "字"
        .SetCellString COL_LOGOUT_NUMBER, ROW_HEAD2, PageNo - 1, "号"
    'Text
        For i = ROW_GRID_START To .GetRows(PageNo - 1) - 1
        .SetRowHeight 1, 20, i, PageNo - 1
            For j = COL_START To COL_END
            .SetCellFont j, i, PageNo - 1, .FindFontIndex("宋体", 1)
            .SetCellFontSize j, i, PageNo - 1, 10
            .SetCellFontStyle j, i, PageNo - 1, 0
                
            Next j
            .SetCellAlign COL_SERIAL, i, PageNo - 1, 36
            .SetCellAlign COL_MONTH, i, PageNo - 1, 36
            .SetCellAlign COL_DAY, i, PageNo - 1, 36
            .SetCellAlign COL_TYPE, i, PageNo - 1, 36
            .SetCellAlign COL_NUMBER, i, PageNo - 1, 36
            .SetCellAlign COL_SUMMARY, i, PageNo - 1, 33
            .SetCellAlign COL_BILL, i, PageNo - 1, 33

            
                Cllr.SetCellNumType COL_UNIT_PRICE, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_UNIT_PRICE, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_UNIT_PRICE, i, PageNo - 1, 2
                
                Cllr.SetCellNumType COL_EXCHANGE_RATE, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_EXCHANGE_RATE, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_EXCHANGE_RATE, i, PageNo - 1, 4
                
                Cllr.SetCellNumType COL_DEBIT_AMOUNT, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_DEBIT_AMOUNT, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_DEBIT_AMOUNT, i, PageNo - 1, 3
                
                Cllr.SetCellNumType COL_DEBIT_FOREIGN, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_DEBIT_FOREIGN, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_DEBIT_FOREIGN, i, PageNo - 1, 2
                
                Cllr.SetCellNumType COL_DEBIT_MONEY, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_DEBIT_MONEY, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_DEBIT_MONEY, i, PageNo - 1, 2
                
                Cllr.SetCellNumType COL_CREDIT_AMOUNT, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_CREDIT_AMOUNT, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_CREDIT_AMOUNT, i, PageNo - 1, 3
                
                Cllr.SetCellNumType COL_CREDIT_FOREIGN, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_CREDIT_FOREIGN, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_CREDIT_FOREIGN, i, PageNo - 1, 2
                
                Cllr.SetCellNumType COL_CREDIT_MONEY, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_CREDIT_MONEY, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_CREDIT_MONEY, i, PageNo - 1, 2
                
                .SetCellAlign COL_DIRECTION, i, PageNo - 1, 36
                
                Cllr.SetCellNumType COL_BALANCE_AMOUNT, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_BALANCE_AMOUNT, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_BALANCE_AMOUNT, i, PageNo - 1, 3
                
                Cllr.SetCellNumType COL_BALANCE_FOREIGN, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_BALANCE_FOREIGN, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_BALANCE_FOREIGN, i, PageNo - 1, 2
                
                Cllr.SetCellNumType COL_BALANCE_MONEY, i, PageNo - 1, 1
                Cllr.SetCellSeparator COL_BALANCE_MONEY, i, PageNo - 1, 2
                Cllr.SetCellDigital COL_BALANCE_MONEY, i, PageNo - 1, 2
                
            .SetCellAlign COL_MAN, i, PageNo - 1, 36
        Next i
        .MergeCells .GetCols(PageNo - 1) - 1, ROW_HEAD1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
    'Draw Line
    .DrawGridLine COL_START, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 1, 1, 3, .FindColorIndex(RGB(0, 0, 0), 1)
    .DrawGridLine COL_SERIAL, ROW_HEAD1, COL_DAY, ROW_HEAD1, 5, 2, .FindColorIndex(RGB(0, 0, 0), 1)
    .DrawGridLine COL_SERIAL, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 2, 5, 2, .FindColorIndex(RGB(0, 0, 0), 1)
    .DrawGridLine COL_MONTH, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 1, 2, 2, .FindColorIndex(RGB(0, 0, 0), 1)

    'Print Corp & Date & Time
       .SetRows .GetRows(PageNo - 1) + 1, PageNo - 1
        i = .GetRows(PageNo - 1) - 1
        .MergeCells COL_START, i, COL_DEBIT_FOREIGN, i
        .MergeCells COL_DEBIT_MONEY, i, COL_END, i
        .SetCellAlign COL_START, i, PageNo - 1, 33
        .SetCellAlign COL_DEBIT_MONEY, i, PageNo - 1, 34

        .SetCellFont COL_START, i, PageNo - 1, .FindFontIndex("宋体", 1)
        .SetCellFontSize COL_START, i, PageNo - 1, 10
        .SetCellFontStyle COL_START, i, PageNo - 1, 0
        .SetCellFont COL_DEBIT_MONEY, i, PageNo - 1, .FindFontIndex("宋体", 1)
        .SetCellFontSize COL_DEBIT_MONEY, i, PageNo - 1, 10
        .SetCellFontStyle COL_DEBIT_MONEY, i, PageNo - 1, 0
        .SetCellString COL_START, i, PageNo - 1, "核算单位:" & m_sEnterName
        .SetCellString COL_DEBIT_MONEY, i, PageNo - 1, "( 打印日期:" & Format(Date, "yyyy-mm-dd") & _
                    "    时间:" & Format(Time, "hh:MM:ss") & " )"
        .ShowPageBreak False
    End With

End Sub
'有未记账凭证
Public Sub ShowResultbak()
    Dim sSQL As String
    Dim rstTemp As ADODB.Recordset
    
    Dim sTemp As String                 '临时存放科目代码
    Dim PreStartOfMonth As String       '查询起始月份的上一个月
    Dim PreKjqj As Integer              '当前凭证的上一张凭证的会计期间
    Dim CurKjqj As Integer              '当前凭证会计期间
    Dim bNotRecord As Boolean
    Dim n As Integer
    Dim m As Integer
    Dim i As Integer
    Dim iMonth As Integer
    Dim iDay As Integer
    '得到当前账套的单位名称
    m_sEnterName = GetDWMC
    If m_sEnterName = "" Then
        Exit Sub
    End If
    
    '初始化变量
    bnljJ = 0

⌨️ 快捷键说明

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