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

📄 frmac_dailyresult.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
VERSION 5.00
Object = "{7802D41A-28B0-43C4-95EA-17B7E32337D1}#1.0#0"; "CellCtrl5.ocx"
Begin VB.Form frmAC_DailyResult 
   Caption         =   "日报表"
   ClientHeight    =   5145
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   8880
   HelpContextID   =   1054
   Icon            =   "frmAC_DailyResult.frx":0000
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   5145
   ScaleWidth      =   8880
   ShowInTaskbar   =   0   'False
   WindowState     =   2  'Maximized
   Begin CELL50Lib.Cell Cllr 
      Height          =   4935
      Left            =   120
      TabIndex        =   1
      Top             =   120
      Width           =   8295
      _Version        =   65536
      _ExtentX        =   14631
      _ExtentY        =   8705
      _StockProps     =   0
   End
   Begin VB.ComboBox cboAccountFormat 
      Height          =   300
      Left            =   90
      Style           =   2  'Dropdown List
      TabIndex        =   0
      Top             =   780
      Width           =   1995
   End
End
Attribute VB_Name = "frmAC_DailyResult"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Option Explicit
Option Base 1
'日报表
'Cell单元格对齐方式: 33 = 左对齐, 34 = 右对齐, 36 = 居中对齐;

Const ROWS_PAGE = 30                        '每页行数
Const COL_START = 1                         '开始列数
Const COL_SUBJECTCODE = 1                   '科目代码
Const COL_SUBJECTNAME = 2                   '科目名称

Const COL_BEGIN_DIRECTION = 3               '期初余额方向

Const COL_BEGIN_BALANCE_AMOUNT = 4          '期初数量余额
Const COL_BEGIN_BALANCE_FOREIGN = 5         '期初外币余额
Const COL_BEGIN_BALANCE_MONEY = 6           '期初金额余额

Const COL_HAPPEN_DEBIT_AMOUNT = 7           '本期发生数量借方
Const COL_HAPPEN_DEBIT_FOREIGN = 8          '本期发生外币借方
Const COL_HAPPEN_DEBIT_MONEY = 9            '本期发生金额借方

Const COL_HAPPEN_CREDIT_AMOUNT = 10         '本期发生数量贷方
Const COL_HAPPEN_CREDIT_FOREIGN = 11        '本期发生外币贷方
Const COL_HAPPEN_CREDIT_MONEY = 12          '本期发生金额贷方

Const COL_END_DIRECTION = 13                '期末余额方向
Const COL_END_BALANCE_AMOUNT = 14           '期末数量余额
Const COL_END_BALANCE_FOREIGN = 15          '期末外币余额
Const COL_END_BALANCE_MONEY = 16            '期末金额余额

Const COL_END = 16                          '结束列
Const ROW_TITLE = 1                         '标题
Const ROW_ACCOUNTFORMAT = 2                 '账页格式行
Const ROW_PERIOD = 3                        '页眉
Const ROW_HEAD1 = 4                         '页标头行1
Const ROW_HEAD2 = 5                         '页标头行2
Const ROW_GRID_START = 6                    '表格开始行

Const ROW_DATE = 2
Const ROW_PAGENO = 3

'标题
Const DefaultTitleFontName = "黑体"
Const DefaultTitleFontSize = 20
Const DefaultTitleRowHigh = 10.25
'表头
Const DefaultHeadFontName = "仿宋_GB2312"
Const DefaultHeadFontSize = 10
Const DefaultHeadRowHigh = 4
'数据
Const DefaultDataFontName = "宋体"
Const DefaultDataFontSize = 9
Const DefaultDataRowHigh = 4

'打印使用标题
Const PrintTitleFontName = "黑体"
Const PrintTitleFontSize = 20
Const PrintTitleRowHigh = 10.25
'打印表头
Const PrintHeadFontName = "仿宋_GB2312"
Const PrintHeadFontSize = 12
Const PrintHeadRowHigh = 6
'打印数据
Const PrintDataFontName = "宋体"
Const PrintDataFontSize = 11
Const PrintDataRowHigh = 6

'金额式账页缺省列宽
Const COLWIDTH_MONEY = "100,200,30,0,0,120,0,0,120,0,0,120,30,0,0,120"

'数量金额式账页缺省列宽
Const COLWIDTH_AMOUNT = "100,200,30,120,0,120,120,0,120,120,0,120,30,120,0,120"

'外币金额式账页缺省列宽
Const COLWIDTH_FOREIGN = "100,200,30,0,120,120,0,120,120,0,120,120,30,0,120,120"

'数量外币式账页缺省列宽
Const COLWIDTH_AMOUNT_FOREIGN = "100,200,30,120,120,120,120,120,120,120,120,120,30,120,120,120"

Dim m_sDate As String                  '日报表的日期
Dim m_sMonth As Integer
Dim m_sSubjCodeStart As String, m_sSubjNameStart As String    '起始科目
Dim m_sSubjCodeEnd As String, m_sSubjNameEnd As String        '终止科目
Dim m_sPrintSubjectName As String      '设置打印一级科目
Dim m_bUnCheck As Boolean              '包含未记账
Dim m_bIncludeBlankKm As Boolean       '包含空白科目
Dim m_sKmCode() As String              '存放科目的代码
Dim m_iColWidth() As Integer        '存放表格各列的宽度
Dim usAccountFormat As String
Dim usAccountType As String
Dim m_iCol As Integer               '鼠标右击单元格所在行
Dim m_iRow As Integer               '鼠标右击单元格所在列

Dim m_iColWidthTemp() As Integer    '存放表格列宽被修改后的宽度
Dim m_sDefaultColWidth As String    '当前账页的缺省列宽
Dim m_iID As Integer

Private mPrintTitle As New clsRowType          '打印时标题类型
Private mPrintData As New clsRowType           '打印时数据类型
Private mPrintHead As New clsRowType           '打印时表头类型

Private mIsPrint As Boolean                    '是否在打印
Dim m_bFormLoad As Boolean

Public Property Let usDate(ByVal sdate As String)
    m_sDate = sdate
End Property

Public Property Let usMonth(ByVal sMonth As Integer)
    m_sMonth = sMonth
End Property

Public Property Let usSubjectCodeStart(ByVal sCode As String)
    m_sSubjCodeStart = sCode
End Property

Public Property Let usSubjectNameStart(ByVal sName As String)
    m_sSubjNameStart = sName
End Property

Public Property Let usSubjectCodeEnd(ByVal sCode As String)
    m_sSubjCodeEnd = sCode
End Property

Public Property Let usSubjectNameEnd(ByVal sName As String)
    m_sSubjNameEnd = sName
End Property

Public Property Let ubUnCheck(ByVal bUnCheck As Boolean)
    m_bUnCheck = bUnCheck
End Property

Public Property Let ubIncludeBlankKm(ByVal bUnCheck As Boolean)
    m_bIncludeBlankKm = bUnCheck
End Property

Public Sub uPreview()
    Dim i As Integer
    mIsPrint = True
    i = Cllr.GetCurSheet
    SetGrid i + 1, Cllr.GetRows(i) - 1
    Cllr.PrintPreview 1, Cllr.GetCurSheet
    mIsPrint = False
    SetGrid i + 1, Cllr.GetRows(i) - 1
    If Cllr.SaveFile(App.Path & "\CellFiles\Daily.cll", 1) = 0 Then
       MsgBox "CELL文件保存失败!", vbOKOnly
    End If
    
End Sub

Public Sub uPrint()
    Dim frmPage As frmPageSet
    Dim lTotalPages As Long, i As Long
    Dim j As Integer
    lTotalPages = Cllr.GetTotalSheets
    Set frmPage = New frmPageSet
    With frmPage
        .uiMaxPage = lTotalPages
        .uiPresentPage = Cllr.GetCurSheet + 1
        .Show 1
        If .Ok Then
            For i = .uiFromPage To .uiToPage
                If Not .uiSzFsSet Then
                  MsgBox "请插入纸张...", vbInformation
                End If
                mIsPrint = True
                SetGrid i, Cllr.GetRows(i - 1) - 1
                Cllr.SetCurSheet i - 1
                Cllr.PrintSheet 0, i - 1
                mIsPrint = False
                SetGrid i, Cllr.GetRows(i - 1) - 1
            Next i
        End If
    End With
    Unload frmPage
End Sub

Private Sub cboAccountFormat_Click()
    Dim sOldAccountFormat As String     '账页原先格式
    
    If Not m_bFormLoad Then
        sOldAccountFormat = usAccountFormat
        usAccountFormat = cboAccountFormat.List(cboAccountFormat.ListIndex)
        If IsColChange(Me.Cllr, m_iColWidth) = True Then
            If MsgBox(sOldAccountFormat & "日报表格式已经改变,是否保存?", vbQuestion + vbYesNo + vbDefaultButton2) = vbYes Then
                Call SaveColChange(m_iColWidth, usAccountType, sOldAccountFormat)
            End If
        End If
        Select Case usAccountFormat
            Case "金额式"
                m_sDefaultColWidth = COLWIDTH_MONEY
            Case "数量金额式"
                m_sDefaultColWidth = COLWIDTH_AMOUNT
            Case "外币金额式"
                m_sDefaultColWidth = COLWIDTH_FOREIGN
            Case "数量外币式"
                m_sDefaultColWidth = COLWIDTH_AMOUNT_FOREIGN
        End Select
        m_iColWidth = GetColWidth(usAccountType, usAccountFormat, m_sDefaultColWidth)
        m_iColWidthTemp = m_iColWidth
        
        Select Case usAccountFormat
            Case "金额式"
                Call DoRedrawCellHeadDefault(m_iColWidth)
            Case "数量金额式"
                Call DoRedrawCellHead(m_iColWidth, COL_BEGIN_BALANCE_AMOUNT, COL_BEGIN_BALANCE_MONEY, _
                        COL_HAPPEN_DEBIT_AMOUNT, COL_HAPPEN_DEBIT_MONEY, _
                        COL_HAPPEN_CREDIT_AMOUNT, COL_HAPPEN_CREDIT_MONEY, _
                        COL_END_BALANCE_AMOUNT, COL_END_BALANCE_MONEY, _
                        ROW_HEAD1, ROW_HEAD1)
            Case "外币金额式"
                Call DoRedrawCellHead(m_iColWidth, COL_BEGIN_BALANCE_FOREIGN, COL_BEGIN_BALANCE_MONEY, _
                        COL_HAPPEN_DEBIT_FOREIGN, COL_HAPPEN_DEBIT_MONEY, _
                        COL_HAPPEN_CREDIT_FOREIGN, COL_HAPPEN_CREDIT_MONEY, _
                        COL_END_BALANCE_FOREIGN, COL_END_BALANCE_MONEY, _
                        ROW_HEAD1, ROW_HEAD1)
            Case "数量外币式"
                Call DoRedrawCellHead(m_iColWidth, COL_BEGIN_BALANCE_AMOUNT, COL_BEGIN_BALANCE_MONEY, _
                        COL_HAPPEN_DEBIT_AMOUNT, COL_HAPPEN_DEBIT_MONEY, _
                        COL_HAPPEN_CREDIT_AMOUNT, COL_HAPPEN_CREDIT_MONEY, _
                        COL_END_BALANCE_AMOUNT, COL_END_BALANCE_MONEY, _
                        ROW_HEAD1, ROW_HEAD1)
        End Select
    End If
End Sub

'双击单元格
Private Sub cllR_mousedclick(ByVal col As Long, ByVal row As Long)
    Dim frmR As frmAC_DetailResult
    Dim frmP As frmAC_BookResult
    Dim sMonth As Variant
    Dim sSubjCode As String
    Dim sSubjName As String
    Dim i As Integer
    Dim sSQL As String
    Dim bRjz As Boolean
    Dim rstRec As New Recordset
    
    sMonth = Month(m_sDate)
    sSubjCode = Cllr.GetCellString(1, row, Cllr.GetCurSheet)
    sSubjName = Cllr.GetCellString(2, row, Cllr.GetCurSheet)
    If sSubjCode = "" Or sSubjCode = "合 计:" Then
       Exit Sub
    End If
    '当所在行在本月合计和本年累计时, 调用明细账查询
    If IsNumeric(sMonth) Then
        If CInt(sMonth) >= 1 And CInt(sMonth) <= 12 Then
            sSQL = "select isRjz from tzw_km" & glo.sOperateYear & " where kmdm='" & sSubjCode & "'"
            With rstRec
               .Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly

⌨️ 快捷键说明

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