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

📄 frmac_detailselectprint2.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
      End
      Begin VB.Label Label2 
         AutoSize        =   -1  'True
         Caption         =   "年"
         Height          =   180
         Left            =   1950
         TabIndex        =   26
         Top             =   645
         Width           =   180
      End
      Begin VB.Label Label3 
         AutoSize        =   -1  'True
         Caption         =   "月"
         Height          =   180
         Left            =   2910
         TabIndex        =   25
         Top             =   645
         Width           =   180
      End
   End
   Begin VB.CommandButton cmdSubjectEnd 
      CausesValidation=   0   'False
      Height          =   285
      Left            =   3960
      Style           =   1  'Graphical
      TabIndex        =   20
      Top             =   420
      Width           =   315
   End
   Begin VB.TextBox txtSubjectEnd 
      Height          =   285
      Left            =   1260
      MaxLength       =   18
      TabIndex        =   1
      Top             =   420
      Width           =   2700
   End
   Begin VB.CommandButton cmdprint 
      Caption         =   "打印(&P)"
      Height          =   345
      Left            =   120
      TabIndex        =   14
      Top             =   4080
      Width           =   1065
   End
   Begin VB.TextBox txtSubjectStart 
      Height          =   285
      Left            =   1260
      MaxLength       =   18
      TabIndex        =   0
      Top             =   60
      Width           =   2700
   End
   Begin VB.CommandButton cmdSubjectStart 
      CausesValidation=   0   'False
      Height          =   285
      Left            =   3960
      Style           =   1  'Graphical
      TabIndex        =   19
      Top             =   60
      Width           =   315
   End
   Begin VB.CommandButton cmdHelp 
      Caption         =   "页面设置"
      CausesValidation=   0   'False
      Height          =   345
      Left            =   3570
      TabIndex        =   17
      Top             =   4080
      Width           =   1065
   End
   Begin VB.CommandButton cmdCancel 
      Cancel          =   -1  'True
      Caption         =   "取消(&C)"
      CausesValidation=   0   'False
      Height          =   345
      Left            =   2445
      TabIndex        =   16
      Top             =   4080
      Width           =   1065
   End
   Begin VB.CommandButton cmdpreview 
      Caption         =   "预览(&V)"
      Height          =   345
      Left            =   1320
      TabIndex        =   15
      Top             =   4080
      Width           =   1065
   End
   Begin VB.Label Label4 
      AutoSize        =   -1  'True
      Caption         =   "终止科目:"
      Height          =   180
      Left            =   300
      TabIndex        =   21
      Top             =   495
      Width           =   900
   End
   Begin VB.Line Line1 
      X1              =   240
      X2              =   4620
      Y1              =   3960
      Y2              =   3960
   End
   Begin VB.Line Line2 
      BorderColor     =   &H80000005&
      X1              =   240
      X2              =   4620
      Y1              =   3435
      Y2              =   3435
   End
   Begin VB.Label Label6 
      AutoSize        =   -1  'True
      Caption         =   "起始科目:"
      Height          =   180
      Left            =   300
      TabIndex        =   18
      Top             =   135
      Width           =   900
   End
End
Attribute VB_Name = "frmAC_DetailSelectPrint2"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Option Explicit
'明细账
'与日记账相比,少一个本日合计

'Cell单元格对齐方式: 33 = 左对齐, 34 = 右对齐, 36 = 居中对齐;

Const ROWS_PAGE = 30                '每页行数


Const COL_START = 1                 '开始列数
Const COL_SERIAL = 1                '序号
Const COL_MONTH = 2                 '月
Const COL_DAY = 3                   '日
Const COL_TYPE = 4                  '凭证种类
Const COL_NUMBER = 5                '凭证号码
Const COL_BILL = 6                  '单据号
Const COL_SUMMARY = 7               '摘要
Const COL_UNIT_PRICE = 8            '单价
Const COL_EXCHANGE_RATE = 9         '汇率
Const COL_DEBIT_AMOUNT = 10          '借方数量
Const COL_DEBIT_FOREIGN = 11         '借方外币
Const COL_DEBIT_MONEY = 12           '借方金额
Const COL_CREDIT_AMOUNT = 13        '贷方数量
Const COL_CREDIT_FOREIGN = 14       '贷方外币
Const COL_CREDIT_MONEY = 15         '贷方金额
Const COL_DIRECTION = 16            '方向
Const COL_BALANCE_AMOUNT = 17       '数量余额
Const COL_BALANCE_FOREIGN = 18      '外币余额
Const COL_BALANCE_MONEY = 19        '金额余额
Const COL_SEPARATE = 20             '分隔线
Const COL_MAN = 21                  '会计事项原处理人
Const COL_LOGOUT_YEAR = 22          '注销年
Const COL_LOGOUT_MONTH = 23         '注销月
Const COL_LOGOUT_DAY = 24           '注销日
Const COL_LOGOUT_TYPE = 25          '注销字
Const COL_LOGOUT_NUMBER = 26        '注销号
Const COL_END = 26                  '结束列

Const ROW_TITLE = 1                 '标题
Const ROW_ACCOUNTFORMAT = 2         '账页格式行
Const ROW_SUBJCODE = 3              '页眉科目代码
Const ROW_SUBJNAME = 4              '页眉科目名称
Const ROW_HEAD1 = 5                 '页标头行1
Const ROW_HEAD2 = 6                 '页标头行2
Const ROW_GRID_START = 7            '表格开始行

Const CRB_LINE = vbBlack            '表格线颜色
'
''金额式账页缺省列宽
'Const COLWIDTH_MONEY = "40,30,30,50,50,50,220,0,0,0,0,120,0,0,120,25,0,0,120,6,60,50,30,30,30,50"
'
''数量金额式账页缺省列宽
'Const COLWIDTH_AMOUNT = "40,30,30,50,50,50,220,100,0,120,0,120,120,0,120,25,120,0,120,6,60,50,30,30,30,50"
'
''外币金额式账页缺省列宽
'Const COLWIDTH_FOREIGN = "40,30,30,50,50,50,220,0,100,0,120,120,0,120,120,25,0,120,120,6,60,50,30,30,30,50"
'
''数量外币式账页缺省列宽
'Const COLWIDTH_AMOUNT_FOREIGN = "40,30,30,50,50,50,220,100,100,120,120,120,120,120,120,25,120,120,120,6,60,50,30,30,30,50"

'金额式账页缺省列宽
Const COLWIDTH_MONEY = "45,32,32,46,47,88,332,0,0,0,0,139,0,0,139,32,0,0,139,16,76,46,30,30,30,60"

'数量金额式账页缺省列宽
Const COLWIDTH_AMOUNT = "45,33,34,46,50,88,296,130,0,170,0,170,170,0,170,37,170,0,170,24,76,57,30,30,30,50"

'外币金额式账页缺省列宽
Const COLWIDTH_FOREIGN = "45,33,34,46,50,88,296,0,130,0,170,170,0,170,170,37,0,170,170,24,76,57,30,30,30,50"

'数量外币式账页缺省列宽
Const COLWIDTH_AMOUNT_FOREIGN = "45,33,34,46,50,88,296,130,130,170,170,170,170,170,170,37,170,170,170,24,76,57,30,30,30,50"

Dim dUnit_Price As Double           '单价
Dim dExchange_Rate As Double        '汇率

Dim gcJ As Double, gcD As Double                        '过次页
Dim gcJSL As Double, gcDSL As Double
Dim gcJWB As Double, gcDWB As Double

Dim byhjJ As Double, byhjD As Double                    '本月合计
Dim byhjJSL As Double, byhjJWB As Double
Dim byhjDSL As Double, byhjDWB As Double

Dim bnljJ As Double, bnljD As Double                    '本年累计
Dim bnljJSL As Double, bnljJWB As Double
Dim bnljDSL As Double, bnljDWB As Double

Dim sbyFX As String                                     '本月合计余额方向
Dim dbyYESL As Double                                   '本月合计数量余额
Dim dbyYEWB As Double                                   '本月合计外币余额
Dim dbyYE As Double                                     '本月合计余额

Dim dYBJJe As Double                    '存放年初数
Dim dYBJSL As Double
Dim dYBJWB As Double
Dim dYBDJE As Double
Dim dYBDSL As Double
Dim dYBDWB As Double

Dim sFX As String                                       '本年累计余额方向

Dim dbnYESL As Double                                   '本年累计数量余额
Dim dbnYEWB As Double                                   '本年累计外币余额
Dim dbnYE As Double                                     '本年累计金额余额

Dim CurRow As Long                  '存放当前行的行数(从表格开始行计数)
Dim lCount As Long                  '数据行的行数(从数据行开始计数)
Dim lPage As Long                   '当前所在页

Dim m_sYear As String               '查账年份
Dim m_sFromMonth As String          '查账起始月
Dim m_sToMonth As String            '查账截止月
'Dim m_sSubjCode As String           '科目代码
'Dim m_sSubjName As String           '科目名称
Dim m_sEnterName As String          '单位名称
Dim m_sSldw As String               '数量单位
Dim m_sWbdw As String               '外币单位

Dim m_bAmount As Boolean            '是否数量账
Dim m_bForeign As Boolean           '是否外币账
Dim m_bFormLoad As Boolean          '是否在窗体引导状态
Dim m_bExistRecord As Boolean       '是否存在记录

Dim m_iCol As Integer               '鼠标右击单元格所在行
Dim m_iRow As Integer               '鼠标右击单元格所在列
Dim m_iColWidth() As Integer        '存放表格初始化时各列的宽度
Dim m_iColWidthTemp() As Integer    '存放表格列宽被修改后的宽度
Dim m_sDefaultColWidth As String    '当前账页的缺省列宽

Private Type udtKm
    sSubjectCode As String
    sSubjectName As String
    IsEndKm As Boolean
End Type

Private m_arySubject() As udtKm          '存放所选择科目的所有最明细子目
Private m_sCurSubjectCode As String      '当前要显示的最明细科目代码
Private m_sCurSubjectName As String      '当前要显示的最明细科目名称
Private m_sCurSubjectCode1 As String      '当前要显示的最明细科目代码
Private m_sCurSubjectName1 As String      '当前要显示的最明细科目名称
Private m_sPreSubject As String          '存放原先选择的科目

Private m_sPrintSubjectCode As String    '打印时的科目代码
Private m_sPrintSubjectName As String    '打印时的科目名称

Private m_sGeneralSubjectName As String  '当前选择的科目的总账科目名称
Private m_iPrintedPages As Long          '已近打印的页数
Private m_aryVar() As Double
Public usAccountType As String      '账页类型
Public usAccountFormat As String    '账页格式

Dim sFirstLevel() As udtKm   '存放一级科目代码范围
Dim arySubject() As udtKm          '存放明细科目名称范围
Dim arySubDetail() As udtKm
Dim sKmCodeStart As String
Dim sKmCodeEnd As String
Dim m_bMjFlag As Boolean            '存放末级标志

'--------------------------
Dim m_bQcBalance As Boolean        '期初有无余额标志
Dim m_bBqHappen As Boolean         '本期有无发生

Dim sKmStart As udtKm
Dim sKmEnd   As udtKm

Dim CSubject As clsSubject

'账页格式被改变时触发
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_iColWidth = ToIntegerArray(m_sDefaultColWidth)
        m_iColWidthTemp = m_iColWidth
        
        Select Case usAccountFormat
            Case "金额式"
                Call DoRedrawCellHead(m_iColWidth, COL_DEBIT_MONEY, COL_DEBIT_MONEY, _
                        COL_CREDIT_MONEY, COL_CREDIT_MONEY, COL_BALANCE_MONEY, COL_BALANCE_MONEY, _
                        ROW_HEAD1, ROW_HEAD2)
            Case "数量金额式"
                Call DoRedrawCellHead(m_iColWidth, COL_DEBIT_AMOUNT, COL_DEBIT_MONEY, _
                        COL_CREDIT_AMOUNT, COL_CREDIT_MONEY, COL_BALANCE_AMOUNT, COL_BALANCE_MONEY, _
                        ROW_HEAD1, ROW_HEAD1)

⌨️ 快捷键说明

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