📄 frmac_detailmodeprint.frm
字号:
.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, 11
.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, 12
.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, 12
.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, 12
.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
.SetCellFont COL_MONTH, ROW_HEAD1, PageNo - 1, .FindFontIndex("宋体", 1)
.SetCellFontSize COL_MONTH, ROW_HEAD1, PageNo - 1, 11
.SetCellFontStyle COL_MONTH, ROW_HEAD1, PageNo - 1, 0
.SetCellAlign COL_MONTH, ROW_HEAD1, PageNo - 1, 33
.SetCellString COL_MONTH, ROW_HEAD1, PageNo - 1, "" & glo.sOperateYear
'为了左对齐, 在字符串尾部加空格;
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, 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
'控制第二行的行高
.SetRowHeight 1, 25.9, ROW_HEAD2, PageNo - 1
'设置内容
'Text
For i = ROW_GRID_START To .GetRows(PageNo - 1) - 2
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
.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_BILL, i, PageNo - 1, 33
.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.SetCellHideZero COL_UNIT_PRICE, i, PageNo - 1, 1
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, 3
Cllr.SetCellAlign COL_EXCHANGE_RATE, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_EXCHANGE_RATE, i, PageNo - 1, 1
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.SetCellHideZero COL_DEBIT_AMOUNT, i, PageNo - 1, 1
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.SetCellHideZero COL_DEBIT_FOREIGN, i, PageNo - 1, 1
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.SetCellHideZero COL_DEBIT_MONEY, i, PageNo - 1, 1
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.SetCellHideZero COL_CREDIT_AMOUNT, i, PageNo - 1, 1
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.SetCellHideZero COL_CREDIT_FOREIGN, i, PageNo - 1, 1
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
Cllr.SetCellHideZero COL_CREDIT_MONEY, i, PageNo - 1, 1
.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.SetCellHideZero COL_BALANCE_AMOUNT, i, PageNo - 1, 1
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.SetCellHideZero COL_BALANCE_FOREIGN, i, PageNo - 1, 1
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
Cllr.SetCellHideZero COL_BALANCE_MONEY, i, PageNo - 1, 1
.SetCellAlign COL_MAN, i, PageNo - 1, 36
Next i
.MergeCells .GetCols(PageNo - 1) - 1, ROW_HEAD1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
'Print Corp & Date & Time
Dim tmpSheet As Integer
tmpSheet = Cllr.GetCurSheet
Cllr.SetCurSheet PageNo - 1
.MergeCells COL_SERIAL, .GetRows(PageNo - 1) - 1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
Cllr.SetCurSheet tmpSheet
.SetCellAlign COL_SERIAL, .GetRows(PageNo - 1) - 1, PageNo - 1, 35
.SetCellString COL_SERIAL, .GetRows(PageNo - 1) - 1, PageNo - 1, "(打印日期:" + Format(Now, "yyyy-mm-dd") + " 打印时间:" + Format(Now, "hh:mm:ss") + ")"
.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
.ShowPageBreak False
End With
End Sub
Public Sub ShowResultbak(Optional ByVal iPageStart As Integer = 0)
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
'得到当前账套的单位名称
m_sEnterName = GetDWMC
If m_sEnterName = "" Then
Exit Sub
End If
'初始化变量
gcJ = 0
gcD = 0
gcJSL = 0
gcDSL = 0
gcJWB = 0
gcDWB = 0
byhjJ = 0
byhjJSL = 0
byhjJWB = 0
byhjD = 0
byhjDSL = 0
byhjDWB = 0
bnljJ = 0
bnljJSL = 0
bnljJWB = 0
bnljD = 0
bnljDSL = 0
bnljDWB = 0
fMainForm.MousePointer = vbHourglass
'将CELL不可见,防止清除CELL控件内容时屏幕闪烁;
Cllr.Visible = False
'' CllR.DoSetTotalPages 1
Cllr.SetCols 2, 0
Cllr.SetRows 2, 0
'清除CELL控件内容后,必须重新设置CELL的行数和列数;
Cllr.SetCols COL_END + 2, 0
Cllr.SetRows ROW_GRID_START + ROWS_PAGE, 0
'设置当前科目名称和代码
m_sCurSubjectCode = arySubDetail(cboSubject.ListIndex + 1).sSubjectCode
m_sCurSubjectName = arySubDetail(cboSubject.ListIndex + 1).sSubjectName
'得到打印时显示的科目代码和名称以及明细账科目
If glo.sSeparateSubject = "0" Then
If glo.bSeparateSubject Then
m_sPrintSubjectCode = SeparateSubject(glo.sAccountID, m_sCurSubjectCode)
Else
m_sPrintSubjectCode = m_sCurSubjectCode
End If
m_sPrintSubjectName = GetSubjectFullPath(glo.sAccountID, m_sCurSubjectCode)
Else
m_sPrintSubjectName = GetSubjectFullPath(glo.sAccountID, m_sCurSubjectCode)
m_sPrintSubjectCode = m_sCurSubjectCode
End If
If InStr(1, m_sPrintSubjectName, "\") > 0 Then
m_sGeneralSubjectName = Mid(m_sPrintSubjectName, 1, InStr(1, m_sPrintSubjectName, "\") - 1)
Else
m_sGeneralSubjectName = m_sPrintSubjectName
End If
'得到一个科目数量单位和外币单位
Call GetSldwAndWbdw(m_sCurSubjectCode, m_sSldw, m_sWbdw)
If m_sSldw <> "" Then
m_bAmount = True
Else
m_bAmount = False
End If
If m_sWbdw <> "" Then
m_bForeign = True
Else
m_bForeign = False
End If
CurRow = ROW_GRID_START - 1
lCount = 0
lPage = 0
Set rstTemp = New ADODB.Recordset
rstTemp.CursorLocation = adUseClient
'如果查询开始月份为一月份, 则计算上年结转余额;
'否则计算上月余额;
If Val(m_sFromMonth) > 0 Then
PreStartOfMonth = Format(Val(m_sFromMonth) - 1, "00")
Else
PreStartOfMonth = "01"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -