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

📄 frmaccountfixedasset.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
    
    If Me.Left + Me.Width < 0 Or Me.Left > Screen.Width Then
        Me.Left = 300
    End If
    
    If Me.WindowState <> vbMinimized Then
        With Me
            If .Width < 7200 Then
                .Width = 7200
            End If
            If .Height < 4500 Then
                .Height = 4500
            End If
        End With
        
        Frame1.Width = Me.ScaleWidth - 2 * ListFormLeft
        Frame1.Left = ListFormLeft
        tabList.Left = ListFormLeft
        tabList.Width = Me.ScaleWidth - ListFormLeft - ListFormRight
        msgGrid.Width = tabList.Width - 300
        msgGrid.Left = tabList.Left + 150
        cmdEdit.Left = ListFormLeft
        cmdEdit.Top = Me.ScaleHeight - cmdEdit.Height - ListFormBottom
        cmdReport.Top = cmdEdit.Top
        cmdReport.Left = cmdEdit.Left + cmdEdit.Width
        tabList.Height = cmdEdit.Top - 80 - tabList.Top
        msgGrid.Top = tabList.Top + 450
        msgGrid.Height = tabList.Height - 600
        chkShowAll.Top = cmdEdit.Top
        chkShowAll.Left = Me.Width - 200 - chkShowAll.Width
        txtFind.Width = Frame1.Left + Frame1.Width - txtFind.Left - cmdSeekAgain.Width - 45
        cmdSeekAgain.Left = txtFind.Left + txtFind.Width + 45
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next

    gclsSys.MainControls.Remove Me
    Set mclsSubClassform = Nothing
    Set mclsList = Nothing
    Set mclsMainControl = Nothing
End Sub


Private Sub mclsMainControl_ChildActive()
    Form_Activate
End Sub

Private Sub mclsMainControl_FilePrintReceipt()
    frmPrintReceipt.ShowfrmPrintReceipt IIf(tabList.Tab = 0, 36, 37)
End Sub

Private Sub mclsMainControl_ToolRefresh()
    tabList_Click 0
End Sub

Private Sub mclsSubClassForm_WndProc(Msg As Long, wParam As Long, lParam As Long, Result As Long)
    Dim MinMax As MINMAXINFO

    If Msg = WM_GETMINMAXINFO Then
        CopyMemory MinMax, ByVal lParam, Len(MinMax)

        MinMax.ptMinTrackSize.x = 430
        MinMax.ptMinTrackSize.y = 250

        CopyMemory ByVal lParam, MinMax, Len(MinMax)
        Result = 0
    End If
End Sub

'显示全部卡片资料
Private Sub chkShowAll_Click()
    Dim lngRow As Long
    Dim lngHeight As Long
    
    If chkShowAll.Enabled Then
        With msgGrid
            If chkShowAll.Value Then
                lngHeight = .RowHeight(0)
                .ColWidth(0) = 480
            Else
                lngHeight = 0
                .ColWidth(0) = 0
            End If
            For lngRow = 1 To .Rows - 1
                If .TextMatrix(lngRow, 0) = "√" Then
                    .RowHeight(lngRow) = lngHeight
                End If
            Next lngRow
        End With
    End If
End Sub


Private Sub msgGrid_DblClick()
    Dim strSql As String
    Dim recAlter As rdoResultset
    Dim strDate As String
    Dim intYear As Integer
    Dim intPeriod As Integer
    
    Select Case tabList.TabCaption(tabList.Tab)
    Case "固资卡片(&D)"
        If msgGrid.Row > 0 Then
            frmScanFixCard.EditCard GetValue(msgGrid.Row, GetGridCol("lngFixedCardID", msgGrid))
        End If
    Case "变动资料(&Z)"
        If msgGrid.Row > 0 And IsCanDo(119, gclsBase.OperatorID) Then
            strDate = GetValue(msgGrid.Row, GetGridCol("变动日期", msgGrid), "String")
            intYear = gclsBase.FYearOfDate(strDate)
            intPeriod = gclsBase.PeriodOfDate(strDate)
            If gclsBase.PeriodClosed(strDate) Then
                ShowMsg hwnd, intYear & "." & intPeriod & "期已结帐,不能修改变动资料!", vbExclamation, Me.Caption
                Exit Sub
            ElseIf PeriodDepection(intYear, intPeriod, 1, False) Then
                NextPeriod intYear, intPeriod, 1
                ShowMsg hwnd, intYear & "." & intPeriod & "期(或以后期间)已计提折旧,不能修改变动资料!", vbExclamation, Me.Caption
                Exit Sub
            Else
                strSql = "SELECT * FROM FixedAlter WHERE lngLastFixedAlterID=" & GetValue(msgGrid.Row, 1)
                Set recAlter = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
                If Not recAlter.EOF Then
                    ShowMsg hwnd, "该固定资产在以后期间又发生过变动,不能修改!", vbExclamation, Me.Caption
                    recAlter.Close
                    Exit Sub
                End If
                recAlter.Close
            End If
            Me.MousePointer = vbHourglass
            With msgGrid
                Select Case GetValue(.Row, 3)
                Case 1 '增加
                    frmFixedAdd.EditCard GetValue(.Row, 1), GetValue(.Row, 2)
                Case 2 '减少
                    frmFixedDec.EditCard GetValue(.Row, 1), GetValue(.Row, 2)
                Case Else '其它变动
                    Set frmFixedOtherAlter = Nothing
                    frmFixedOtherAlter.EditCard GetValue(.Row, 1), GetValue(.Row, 2)
                End Select
                Form_Activate
            End With
            Me.MousePointer = vbDefault
        End If
    End Select
End Sub

Private Sub CopyCard()
    Dim strSql As String
    Dim strDate As String
    Dim intYear As Integer
    Dim intPeriod As Integer
    Dim intCount As Integer
    Dim strName  As String
    
    On Error Resume Next
    
    If msgGrid.Row > 0 And IsCanDo(119, gclsBase.OperatorID) Then
        strDate = GetValue(msgGrid.Row, GetGridCol("变动日期", msgGrid), "String")
        intYear = gclsBase.FYearOfDate(strDate)
        intPeriod = gclsBase.PeriodOfDate(strDate)
        If gclsBase.PeriodClosed(strDate) Then
            ShowMsg hwnd, intYear & "." & intPeriod & "期已结帐,不能复制卡片!", vbExclamation, Me.Caption
            Exit Sub
        ElseIf PeriodDepection(intYear, intPeriod, 1, False) Then
            NextPeriod intYear, intPeriod, 1
            ShowMsg hwnd, intYear & "." & intPeriod & "期(或以后期间)已计提折旧,不能复制卡片!", vbExclamation, Me.Caption
            Exit Sub
        End If
        Me.MousePointer = vbHourglass
        With msgGrid
            frmCopyCard.Copy GetValue(msgGrid.Row, 2), False
            Set frmCopyCard = Nothing
            Form_Activate
        End With
        Me.MousePointer = vbDefault
    End If
End Sub

Private Sub msgGrid_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim intCount As Integer
    Dim intTmp As Integer
    
    '处理右键菜单
    If Button = vbRightButton Then
        GetListEditMenu '生成菜单
        If txtEdit.Visible Then
            txtEdit.Tag = ""
            txtEdit.Visible = False
        End If
        PopupMenu frmMain.mnuListEdit
        AfterListEdit mintAction
    '处理左键事件
    ElseIf Button = vbLeftButton Then
        With msgGrid
            If .Rows = 1 Then
                Exit Sub
            End If
            '鼠标在有效位置
            If y > .RowPos(1) And y < .RowPos(.Rows - 1) + .RowHeight(0) Then
                If tabList.Tab = 0 Then
                    With frmMain
                        .mnuEditEdit.Enabled = True
                        .mnuEditDel.Enabled = True
                        .SetToolBar
                    End With
                End If
            Else
                '鼠标在无效位置
                If tabList.Tab = 0 Then
                    With frmMain
                        .mnuEditEdit.Enabled = False
                        .mnuEditDel.Enabled = False
                        .SetToolBar
                    End With
                End If
            End If
        End With
    End If
End Sub

'显示编辑菜单
Private Sub cmdEdit_Click()
    Dim lngX As Long
    Dim lngY As Long
    
    lngX = cmdEdit.Left
    lngY = cmdEdit.Top + cmdEdit.Height
    
    GetListEditMenu
    PopupMenu frmMain.mnuListEdit, , lngX, lngY
    AfterListEdit mintAction
End Sub

'显示报表菜单
Private Sub cmdReport_Click()
    Dim lngX As Long
    Dim lngY As Long
    
    lngX = cmdReport.Left
    lngY = cmdReport.Top + cmdReport.Height
    
    GetListReportMenu
    PopupMenu frmMain.mnuListReport, , lngX, lngY
End Sub

Private Sub mclsMainControl_EditColumn()
    Select Case tabList.TabCaption(tabList.Tab)
        Case "变动资料(&Z)"
            mclsMainControl_ListEditMenu (11)
        Case "工作量(&W)"
            mclsMainControl_ListEditMenu (5)
        Case "固资卡片(&D)"
            mclsMainControl_ListEditMenu (3)
    End Select
End Sub

Private Sub mclsMainControl_EditCopy()
'    mclsMainControl_ListEditMenu (11)
End Sub

Private Sub mclsMainControl_EditDel()
    mclsMainControl_ListEditMenu (5)
End Sub

Private Sub mclsMainControl_EditEdit()
    msgGrid_DblClick
End Sub

Private Sub mclsMainControl_EditFilter()
    Select Case tabList.TabCaption(tabList.Tab)
        Case "变动资料(&Z)"
            mclsMainControl_ListEditMenu (10)
        Case "工作量(&W)"
            mclsMainControl_ListEditMenu (4)
        Case "固资卡片(&D)"
            mclsMainControl_ListEditMenu (2)
    End Select
End Sub

Private Sub mclsMainControl_EditNew()
    AfterListEdit 0
End Sub

Private Sub mclsMainControl_EditShowAll()
    chkShowAll_Click
End Sub

Private Sub mclsMainControl_EditUndo()
'    mclsMainControl_ListEditMenu (2)
End Sub

Private Sub mclsMainControl_FilePrint()
    Dim clsPrint As PrintClass
    
    mclsList.ClearSortColArrow
    
    Set clsPrint = New PrintClass
    Select Case tabList.TabCaption(tabList.Tab)
    Case "变动资料(&Z)"
        clsPrint.PrintList gclsBase.BaseDB, msgGrid, 12, "固定资产变动资料列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    Case "工作量(&W)"
        clsPrint.PrintList gclsBase.BaseDB, msgGrid, 13, "固定资产工作量资料列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    Case "固资卡片(&D)"
        clsPrint.PrintList gclsBase.BaseDB, msgGrid, 14, "固定资产卡片资料列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    End Select
    Set clsPrint = Nothing
    
    mclsList.AddSortColArrow
End Sub

Private Sub mclsMainControl_FilePrintSetup()
    Dim clsPrint As New PrintClass
    
    Select Case tabList.TabCaption(tabList.Tab)
    Case "变动资料(&Z)"
        clsPrint.PrintSetUp gclsBase.BaseDB, msgGrid, , , , 12, " " & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    Case "工作量(&W)"
        clsPrint.PrintSetUp gclsBase.BaseDB, msgGrid, , , , 13, " " & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    Case "固资卡片(&D)"
        clsPrint.PrintSetUp gclsBase.BaseDB, msgGrid, , , , 14, " " & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    End Select
    Set clsPrint = Nothing
End Sub

'编辑菜单的click事件处理
Private Sub mclsMainControl_ListEditMenu(ByVal intIndex As Integer)
    Dim lngCnt As Long
    Dim lngRow As Long
    Dim lngColumn As Long
    Dim strDate As String
    Dim strSql As String
    Dim strFixedCode As String
    Dim strFixedCardCode As String
    Dim recCard As rdoResultset
    Dim clsPrint As New PrintClass
    Dim bytPeriod As Integer

⌨️ 快捷键说明

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