📄 frmac_detailselectprint.frm
字号:
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, 26, ROW_TITLE, PageNo - 1
'Comment
.SetRowHeight 1, 23, ROW_SUBJCODE, PageNo - 1
.SetRowHeight 1, 23, ROW_SUBJNAME, PageNo - 1
' .SetRowHeight 1, 40, ROW_TITLE, PageNo - 1
' 'Comment
' .SetRowHeight 1, 19, ROW_ACCOUNTFORMAT, PageNo - 1
' .SetRowHeight 1, 19, ROW_SUBJCODE, PageNo - 1
' .SetRowHeight 1, 19, 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_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
.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 + iPageStart) & " 页" & _
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, 11
.SetCellFontStyle j, i, PageNo - 1, 2
Next j
.SetRowHeight 1, 25.9, i, PageNo - 1
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
If chkModePrint.value = 0 Then
'设置内容
.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, "号"
End If
'Text
For i = ROW_GRID_START To .GetRows(PageNo - 1) - 1
For j = COL_START To COL_END
.SetCellFont j, i, PageNo - 1, .FindFontIndex("宋体", 1)
.SetCellFontSize j, i, PageNo - 1, 11
.SetCellFontStyle j, i, PageNo - 1, 0
Next j
.SetRowHeight 0, 63.2, i, PageNo - 1
.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
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.SetCellAlign COL_UNIT_PRICE, i, PageNo - 1, 32 + 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, 2
Cllr.SetCellAlign COL_EXCHANGE_RATE, i, PageNo - 1, 32 + 2
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, 2
Cllr.SetCellAlign COL_DEBIT_AMOUNT, i, PageNo - 1, 32 + 2
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.SetCellAlign COL_DEBIT_FOREIGN, i, PageNo - 1, 32 + 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.SetCellAlign COL_DEBIT_MONEY, i, PageNo - 1, 32 + 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, 2
Cllr.SetCellAlign COL_CREDIT_AMOUNT, i, PageNo - 1, 32 + 2
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.SetCellAlign COL_CREDIT_FOREIGN, i, PageNo - 1, 32 + 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
Cllr.SetCellAlign COL_CREDIT_MONEY, i, PageNo - 1, 32 + 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, 2
Cllr.SetCellAlign COL_BALANCE_AMOUNT, i, PageNo - 1, 32 + 2
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.SetCellAlign COL_BALANCE_FOREIGN, i, PageNo - 1, 32 + 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
Cllr.SetCellAlign COL_BALANCE_MONEY, i, PageNo - 1, 32 + 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
If chkModePrint.value = 0 Then
'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)
End If
'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, 9
.SetCellFontStyle COL_START, i, PageNo - 1, 0
.SetCellFont COL_DEBIT_MONEY, i, PageNo - 1, .FindFontIndex("宋体", 1)
.SetCellFontSize COL_DEBIT_MONEY, i, PageNo - 1, 9
.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
'在转页时加入一个过次行和一个承前行
Private Sub AppendChangePageRow(ByVal iOption As Integer, Optional ByRef iPageStart As Integer = 0)
If iOption <> 0 Then
Call AppendOneRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, 0, 0, "", "", "", _
"[ 过 次 页 ]", 0, 0, sFX, IIf(sFX = "借", dbnYESL, -dbnYESL), _
IIf(sFX = "借", dbnYEWB, -dbnYEWB), IIf(sFX = "借", dbnYE, -dbnYE), "", _
bnljJSL, bnljJWB, bnljJ, bnljDSL, bnljDWB, bnljD)
End If
lPage = lPage + 1
Cllr.InsertSheet Cllr.GetTotalSheets, 1
Call SetGrid(lPage, ROW_GRID_START + lCount, iPageStart)
Cllr.SetCurSheet lPage
Cllr.SetRows ROW_GRID_START + ROWS_PAGE, lPage
Cllr.SetCols COL_END + 2, lPage
CurRow = CurRow + 1
lCount = 1
Call AppendOneRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, 0, 0, "", "", "", _
"[ 承 前 页 ]", 0, 0, sFX, IIf(sFX = "借", dbnYESL, -dbnYESL), _
IIf(sFX = "借", dbnYEWB, -dbnYEWB), IIf(sFX = "借", dbnYE, -dbnYE), "", _
bnljJSL, bnljJWB, bnljJ, bnljDSL, bnljDWB, bnljD)
CurRow = CurRow + 1
lCount = lCount + 1
End Sub
Public Function ShowResult(Optional ByVal iPageStart As Integer = 0) As Integer
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 i As Integer
Dim tmpVal As Double
Dim iMonth As Integer
Dim iDay As Integer
ShowResult = iPageStart
'得到当前账套的单位名称
m_sEnterName = GetDWMC
If m_sEnterName = "" Then
Exit Function
End If
'初始化变量
bnljJ = 0
bnljJSL = 0
bnljJWB = 0
bnljD = 0
bnljDSL = 0
bnljDWB = 0
fMainForm.MousePointer = vbHourglass
'设置当前科目名称和代码
' m_sCurSubjectCode = arySubDetail(cboSubject.ListIndex + 1).sSubjectCode
' m_sCurSubjectName = arySubDetail(cboSubject.ListIndex + 1).sSubjectName
If m_sCurSubjectCode = "" Then
fMainForm.MousePointer = vbDefault
MsgBox m_sCurSubjectCode & "科目不存在,不能联查明细账!", vbInformation
Exit Function
End If
'将CELL不可见,防止清除CELL控件内容时屏幕闪烁;
Cllr.Visible = False
Cllr.ResetContent
'清除CELL控件内容后,必须重新设置CELL的行数和列数;
Cllr.SetCols COL_END + 2, 0
Cllr.SetRows ROW_GRID_START + ROWS_PAGE, 0
'得到打印时显示的科目代码和名称以及明细账科目
m_sPrintSubjectCode = m_sCurSubjectCode
m_sPrintSubjectNa
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -