📄 frmmultiaccountbook.frm
字号:
If Format(detBegin.Value, "YYYY-MM-DD") > Format(detEnd.Value, "YYYY-MM-DD") Then
Utility.ShowMsg Me.hwnd, "开始时间不能大于终止时间!", vbInformation + vbOKOnly, App.title
detBegin.Text = mstrOldDate
detBegin.SetFocus
End If
End If
End Sub
Private Sub cmbHead_ItemNotExist(Index As Integer)
Utility.ShowMsg Me.hwnd, GetNoXString(lblHead(Index).Caption, 1, "(") & "“" & cmbHead(Index).Text & "”不存在!", vbInformation + vbOKOnly, App.title
cmbHead(Index).SetFocus
End Sub
Private Sub cmbType_Choose()
If cmbType.ReferRow = -1 Then
Exit Sub
End If
mclsMultiReportSet.ReportType = cmbType.ReferRow + 1
Caption = mclsMultiReportSet.ReportName
SetTitle mclsMultiReportSet.ReportName + " [" & cmbType.Text & "]"
If mblnRefresh Then
MsgForm.PleaseWait
RefreshData GetOtherCond
Unload MsgForm
Else
ABook.Refresh
End If
End Sub
Private Sub cmdDefine_Click()
Dim lngOldPaper As Long
On Error GoTo ErrHandle
If Not Report.MyReportExist(mclsMultiReportSet.ReportID) Then
Unload Me
Exit Sub
End If
lngOldPaper = mclsMultiReportSet.PaperID
If mclsMultiReportSet.ShowMultiReportSet(mclsMultiReportSet.ReportID, mclsMultiReportSet.ViewId, , , mclsFormCond, False, mblnHeadChange) = True Then
If mblnLoad And Not mblnFirstLoad Then
MsgForm.PleaseWait
End If
mblnChanged = True
mblnLoad = False
GetCondition
mblnLoad = True
GetPages
If mclsMultiReportSet.PaperID = 0 Then
cmdPaper.Enabled = True
ABook.FCRows = 4
ABook.LXTD = False
ABook.TabLocked = False
Else
cmdPaper.Enabled = False
ABook.FCRows = 2
ABook.TabLocked = True
If mclsMultiReportSet.PaperID = 5 Or mclsMultiReportSet.PaperID = 7 Then
ABook.LXTD = True
Else
ABook.LXTD = False
End If
End If
If lngOldPaper <> 0 And mclsMultiReportSet.PaperID <> lngOldPaper Then
mclsFset.InitPropertyByDataBase 2, mclsMultiReportSet.ReportID, mclsMultiReportSet.PaperID
GetDefaultSet
End If
RefreshData GetOtherCond
SetTitle mclsMultiReportSet.ReportName + " [" & cmbType.Text & "]"
Form_Resize
If Not mblnFirstLoad Then
Unload MsgForm
End If
End If
Exit Sub
ErrHandle:
End Sub
Private Sub cmdSave_Click()
Dim strReportName As String
Dim strErr As String
On Error GoTo ErrHandle
If Not Report.MyReportExist(mclsMultiReportSet.ReportID) Then
Unload Me
Exit Sub
End If
strReportName = mclsMultiReportSet.ReportName
If NameIsErr(strReportName, strErr) Then
If Utility.ShowMsg(Me.hwnd, "多栏帐名称中包含非法字符“" & strErr & "”,是否另存?", vbQuestion + vbYesNo, App.title) = vbYes Then
If Not frmReportSameName.ShowInputBox("多栏帐名称", strReportName, "另存为", True) Then
Exit Sub
End If
Else
Exit Sub
End If
mclsMultiReportSet.ReportName = strReportName
cmbType_Choose
End If
If mclsMultiReportSet.Prep = 0 Or mclsMultiReportSet.Prep = 1 Then
Do While Report.ReportExist(strReportName, mclsMultiReportSet.ParentId, mclsMultiReportSet.ReportID, IIf(mclsMultiReportSet.Prep = 0, False, True))
If Utility.ShowMsg(Me.hwnd, "已存在同名多栏帐“" & strReportName & "”,是否另存?", vbQuestion + vbYesNo, App.title) = vbYes Then
If Not frmReportSameName.ShowInputBox("多栏帐名称", strReportName, "另存为", True) Then
Exit Sub
End If
Else
Exit Sub
End If
Loop
mclsMultiReportSet.ReportName = strReportName
cmbType_Choose
End If
mblnChanged = False
mclsMultiReportSet.SaveMulti
mclsMultiReportSet.SaveWidth (mlngMultiWid)
mclsFset.SaveBindingMargin mclsMultiReportSet.PrintSetId, CDbl(ABook.GutterLineWidth)
mclsFormCond.KeyID = mclsMultiReportSet.ReportID
mclsFormCond.UpdateCond
gclsSys.SendMessage Me.hwnd, msgReport
Exit Sub
ErrHandle:
End Sub
Private Sub cmdSaveAs_Click()
Dim strReportName As String
If Not Report.MyReportExist(mclsMultiReportSet.ReportID) Then
Unload Me
Exit Sub
End If
strReportName = mclsMultiReportSet.ReportName
If Not frmReportSameName.ShowInputBox("多栏帐名称", strReportName, "另存为", True) Then
Exit Sub
End If
Do While Report.ReportExist(strReportName, mclsMultiReportSet.ParentId, mclsMultiReportSet.ReportID, False)
If Utility.ShowMsg(Me.hwnd, "已存在同名多栏帐“" & strReportName & "”,是否另存?", vbQuestion + vbYesNo, App.title) = vbYes Then
If Not frmReportSameName.ShowInputBox("多栏帐名称", strReportName, "另存为", True) Then
Exit Sub
End If
Else
Exit Sub
End If
Loop
mclsMultiReportSet.ReportName = strReportName
cmbType_Choose
mclsMultiReportSet.SaveMulti True
mclsMultiReportSet.SaveWidth (mlngMultiWid)
mblnChanged = False
mclsFormCond.KeyID = mclsMultiReportSet.ReportID
mclsFormCond.UpdateCond
gclsSys.SendMessage Me.hwnd, msgReport
End Sub
Private Sub detBegin_Error(bCancel As Integer)
Utility.ShowMsg Me.hwnd, "错误日期值!", vbInformation + vbOKOnly, App.title
detBegin.SetFocus
End Sub
Private Sub detBegin_Change()
If mblnDateChange Then
If cmbDate.Text <> "自定义" Then
cmbDate.Text = "自定义"
End If
End If
End Sub
Private Sub detBegin_GotFocus()
mstrOldDate = detBegin.Text
End Sub
Private Sub detBegin_LostFocus()
On Error GoTo ErrHandle
If Not (Me.ActiveControl Is detEnd Or Me.ActiveControl Is cmbDate) Then
If Format(detBegin.Value, "YYYY-MM-DD") > Format(detEnd.Value, "YYYY-MM-DD") Then
Utility.ShowMsg Me.hwnd, "开始时间不能大于终止时间!", vbInformation + vbOKOnly, App.title
detBegin.Text = mstrOldDate
detBegin.SetFocus
Else
If Format(detBegin.Value, "YYYY-MM-DD") < Format(gclsBase.BeginDate, "YYYY-MM-DD") Then
detBegin.Value = Format(gclsBase.BeginDate, "YYYY-MM-DD")
If Format(detEnd.Value, "YYYY-MM-DD") < Format(gclsBase.BeginDate, "YYYY-MM-DD") Then
detEnd.Value = Format(gclsBase.BaseDate, "YYYY-MM-DD")
End If
End If
If mblnRefresh And mblnLoad And Not mblnFirstLoad Then
MsgForm.PleaseWait
End If
ReGetHeadCond
If mblnRefresh Then
RefreshData GetOtherCond
End If
If Not mblnFirstLoad Then
Unload MsgForm
End If
End If
End If
ErrHandle:
End Sub
Private Sub detEnd_Error(bCancel As Integer)
Utility.ShowMsg Me.hwnd, "错误日期值!", vbInformation + vbOKOnly, App.title
detEnd.SetFocus
End Sub
Private Sub detEnd_Change()
If mblnDateChange Then
If cmbDate.Text <> "自定义" Then
cmbDate.Text = "自定义"
End If
End If
End Sub
Private Sub detEnd_GotFocus()
mstrOldDate = detEnd.Text
End Sub
Private Sub detEnd_LostFocus()
On Error GoTo ErrHandle
If Not (Me.ActiveControl Is detBegin Or Me.ActiveControl Is cmbDate) Then
If Format(detBegin.Value, "YYYY-MM-DD") > Format(detEnd.Value, "YYYY-MM-DD") Then
Utility.ShowMsg Me.hwnd, "开始时间不能大于终止时间!", vbInformation + vbOKOnly, App.title
detEnd.Text = mstrOldDate
detEnd.SetFocus
Else
If Format(detBegin.Value) < Format(gclsBase.BeginDate) Then
detBegin.Value = Format(gclsBase.BeginDate, "YYYY-MM-DD")
If Format(detEnd.Value) < Format(gclsBase.BeginDate, "YYYY-MM-DD") Then
detEnd.Value = Format(gclsBase.BaseDate, "YYYY-MM-DD")
End If
End If
If mblnRefresh And mblnLoad And Not mblnFirstLoad Then
MsgForm.PleaseWait
End If
ReGetHeadCond
If mblnRefresh Then
RefreshData GetOtherCond
End If
If Not mblnFirstLoad Then
Unload MsgForm
End If
End If
End If
ErrHandle:
End Sub
Private Sub Form_Activate()
mclsMainControl_ChildActive
End Sub
Private Sub InitBookType()
With cmbType
.ClearRefer
.AddRefer "日记帐"
.AddRefer "明细帐"
.AddRefer "总帐"
End With
End Sub
'显示帐册(多栏)
Public Sub ShowAcntBook(ByVal lngReportID As Long, ByVal ViewId As Long, Optional clsMultiReportSet As MultiReportSet = Nothing, Optional clsFormCond As FormCond)
Dim strSql As String
Dim rstTemp As rdoResultset
mblnErr = False
mblnLoad = False
mblnAlign = False
mblnHeadChange = False
mblnPrint = False
mblnFirstLoad = True
MsgForm.PleaseWait
InitDate cmbDate
InitBookType
'显示已存盘的帐表
If clsMultiReportSet Is Nothing Then
Set mclsMultiReportSet = New MultiReportSet
Set mclsFormCond = New FormCond
mclsMultiReportSet.GetReportSet lngReportID, ViewId
mclsFormCond.InitCondArr lngReportID, ViewId, 2, 255, "日期"
'显示才由向导生成的帐表
Else
Set mclsMultiReportSet = clsMultiReportSet
Set mclsFormCond = clsFormCond
End If
Set mclsMainControl = gclsSys.MainControls.Add(Me)
Set mclsFset = New ClsFormatset
Set ABook = New AountBook
ABook.SetWindow PicPaper.hwnd
ABook.Version = Report.VersionInfo
mblnLockHead = True
ABook.FCLocked = True
mblnRefresh = True
If mclsMultiReportSet.PaperID = 0 Then
cmdPaper.Enabled = True
ABook.FCRows = 4
ABook.LXTD = False
ABook.TabLocked = False
Else
cmdPaper.Enabled = False
ABook.FCRows = 2
ABook.TabLocked = True
If mclsMultiReportSet.PaperID = 5 Or mclsMultiReportSet.PaperID = 7 Then
ABook.LXTD = True
Else
ABook.LXTD = False
End If
End If
If ABook.IsInitSuccessed = 0 Then
Unload MsgForm
mblnLoad = True
Utility.ShowMsg Me.hwnd, "请先设置打印机!", vbInformation + vbOKOnly, App.title
Screen.MousePointer = vbDefault
Unload Me
Exit Sub
End If
mclsFset.InitPropertyByDataBase 2, mclsMultiReportSet.ReportID, m
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -