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

📄 frmmultiaccountbook.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
     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 + -