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

📄 frmbankaccount.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
            End If
        End If
    Case vbKeyUp
        For i = msgBook.Row - 1 To 1 Step -1
            If msgBook.RowHeight(i) > 0 Then Exit For
        Next i
'        msgBook.SetFocus
        If i > 0 Then msgBook.Row = i
    Case vbKeyDown
        For i = msgBook.Row + 1 To msgBook.Rows - 1
            If msgBook.RowHeight(i) > 0 Then Exit For
        Next i
        If i < msgBook.Rows Then
'            msgBook.SetFocus
            msgBook.Row = i
        End If
    Case vbKeySpace
        dteInput.DropDownPanel
    Case vbKeyLeft
        If dteInput.SelStart = 0 Then
            If Not blnIsLeft Then
                blnIsLeft = True
            Else
                msgBook.SetFocus
                BKKEY msgBook.hwnd, vbKeyLeft
                blnIsLeft = False
            End If
        End If
    Case vbKeyRight
        If dteInput.SelStart = Len(dteInput.Text) Then
            msgBook.SetFocus
            BKKEY msgBook.hwnd, vbKeyRight
        End If
    End Select
End Sub

Private Sub dteInput_LostFocus()
    Dim iLeft As Integer, i As Integer
    On Error Resume Next
    If msgBook.Row = 0 Then Exit Sub
'    GetColNO
    If dteInput.Text >= mstrStartDate Then
        ShowMsg hwnd, "单据日期不能大于等于对帐启用日期!", vbExclamation, Caption
'        dteInput.Text = msgBook.TextMatrix(mintRow, mintDateCol)
        msgBook.Row = mintPRow
        msgBook.col = mintDateCol
        iLeft = 0
        For i = 1 To mintDateCol - 1
            If msgBook.ColIsVisible(i) Then
                iLeft = iLeft + msgBook.ColWidth(i)
            End If
        Next i
        dteInput.Move msgBook.Left + iLeft, msgBook.top + msgBook.CellTop, msgBook.ColWidth(mintDateCol)
'        If dteInput.Enabled Then dteInput.SetFocus
        dteInput.SetFocus
        dteInput.Text = Format(CDate(mstrStartDate) - 1, "yyyy-mm-dd")
        mblnDateOK = False
        Exit Sub
    Else
        mblnDateOK = True
    End If
    If dteInput.Text = "" And dteInput.Left > 0 Then
        dteInput.Text = Format(CDate(mstrStartDate) - 1, "yyyy-mm-dd")
        ShowMsg hwnd, "单据日期不能为空!", vbExclamation, Caption
        'msgBook.Col = 2
'        dteInput.Text = msgBook.TextMatrix(mintRow, mintDateCol)
'        dteInput.Move msgBook.Left + iLeft, msgBook.top + msgBook.CellTop, msgBook.ColWidth(mintDateCol)
        dteInput.SetFocus
        mblnDateOK = False
        Exit Sub
    Else
        mblnDateOK = True
    End If
    If Me.ActiveControl.Name <> "dteInput" Then
        dteInput.Move -50000
    End If
'    If dteInput.Text <> "" And msgBook.TextMatrix(mintRow, mintDateCol) < mstrStartDate Then msgBook.TextMatrix(mintRow, mintDateCol) = dteInput.Text
'    msgBook.TextMatrix(mintRow, mintResortCol) = Replace(msgBook.TextMatrix(mintRow, mintResortCol), mstrDate, dteInput.Text)
    If mstrDate <> dteInput.Text Then
        msgBook.TextMatrix(msgBook.Row, mintCheckCol) = ""
'        msgBook.TextMatrix(mintRow, mintResortCol) = Replace(msgBook.TextMatrix(mintRow, mintResortCol), mstrDate, dteInput.Text)
        If Not mblnIsAdd Then ReSort
    End If
End Sub

Private Sub Form_Activate()
    SetHelpID Me.HelpContextID
    mclsMainControl_ChildActive
    gclsSys.CurrFormName = Me.hwnd
    UpdateMenuStatus
    msgBook.SetFocus
End Sub

Private Sub Form_Deactivate()
    frmMain.SetEditUnEnabled
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyEscape Then
        If dteInput.Left > 0 Then
            mclsMainControl_ListEditMenu 1
            KeyCode = 0
        ElseIf txtInput.Visible Then
            txtInput.Text = ""
            KeyCode = 0
            msgBook.SetFocus
        ElseIf txtCal.Visible Then
            txtCal.Text = ""
            KeyCode = 0
            msgBook.SetFocus
        Else
            Unload Me
        End If
    End If
    If Shift = 2 Then
        MakeListEditMenu
        SetMenu
        Select Case UCase(Chr(KeyCode))
        Case "N"
            If frmMain.mnuListEditMenu(0).Enabled Then
                mclsMainControl_ListEditMenu 0
            End If
        Case "D"
            If frmMain.mnuListEditMenu(1).Enabled Then
                mclsMainControl_ListEditMenu 1
            End If
        Case "H"
            If frmMain.mnuListEditMenu(3).Enabled Then
                mclsMainControl_ListEditMenu 3
            End If
        Case "S"
            If frmMain.mnuListEditMenu(4).Enabled Then
                mclsMainControl_ListEditMenu 4
            End If
        Case "P"
            If frmMain.mnuListEditMenu(6).Enabled Then
                mclsMainControl_ListEditMenu 6
            End If
        End Select
    End If
End Sub

Private Sub Form_Load()
    Dim edtErrReturn As ErrDealType
    
    On Error GoTo ErrHandle
    MsgForm.PleaseWait
'    SetHelpID hwnd, 60103
    If gclsBase.ControlAccount Then
        mintViewId = 33
        mintResortCol = 4
    Else
        mintViewId = 1104
        mintResortCol = 5
    End If
    mlngNO = 100000
    Set mclsSubClassform = New SubClass32.SubClass
    mclsSubClassform.hwnd = Me.hwnd
    mclsSubClassform.Messages(WM_GETMINMAXINFO) = True
    frmCollate.IsShowCard(1) = True
    Set mclsGrid = New Grid
    Set mclsGrid.Grid = msgBook
    mclsGrid.ListSet.ViewId = mintViewId
    If Not gclsBase.ControlAccount Then
        msgBook.FormatString = "|||||对帐|  日期  |凭证类型|凭证号|付款方式| 摘要 |票据号|> 借方|> 贷方|> 余额|"
    End If
    mblnIsInit = True
    mlngAcnID = frmCollate.AccountID
    mlngCurID = frmCollate.CurrencyID
    msgBook.top = 441
    mblnIsHide = False
    mblnRowValid = False
    mblnDateOK = True
    mblnIsAdd = False
    mblnIsChanged = False
    InitHeadName
    InitAccountList
    InitCurrencyList
    InitReceiptList
    setlistbox lstInput(1), 33
'    InitGrid
'    mintDCBCol = mintDebitCol
    Set mclsMainControl = gclsSys.MainControls.Add(Me)
'    msgBook.Row = 1
'    msgBook.col = mintBalCol
    Unload MsgForm
    txtInput.ParenthWnd = msgBook.hwnd
    dteInput.ParenthWnd = msgBook.hwnd
    lstInput(0).ParenthWnd = msgBook.hwnd
    lstInput(1).ParenthWnd = msgBook.hwnd
    lstInput(2).ParenthWnd = msgBook.hwnd
    Exit Sub
ErrHandle:
    edtErrReturn = Errors.ErrorsDeal
    
    If edtErrReturn = edtResume Then
         Resume
    Else
         On Error Resume Next
         Unload MsgForm
         Unload Me
    End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'    If UnloadMode <> vbFormControlMenu Then Exit Sub
'    GetColNO
    If mblnIsChanged Then
        If ShowMsg(hwnd, "要保存本次银行帐编辑的结果吗?", _
            vbQuestion + vbYesNo, Caption) = vbYes Then
'            msgBill.TextMatrix(msgBill.Row, mintDateCol) = dteInput.Text
'            If dteInput.Left > 0 Then dteInput_LostFocus
            If Not mblnDateOK Then
                Cancel = True
                Exit Sub
            End If
'            BankIsValid vbFormControlMenu
'            If Not mblnValueOK Then
'                Cancel = True
'                Exit Sub
'            End If
            MsgForm.PleaseWait
            If Not SaveData Then
                ShowMsg hwnd, "保存数据失败,本次银行帐期初编辑无效!", _
                    vbExclamation, Caption
                Unload MsgForm
                Exit Sub
            End If
            Unload MsgForm
        End If
    End If
End Sub

Private Sub Form_Resize()
    Dim intWidth As Integer, i As Integer
    
    If Me.WindowState = vbMinimized Then Exit Sub
'    If Width < intFormMinWidth Then Width = intFormMinWidth
'    If Height < intFormMinHeight Then Height = intFormMinHeight
    cmdBook(0).Left = Me.ScaleLeft + 50
    cmdBook(0).top = Me.ScaleHeight - 75 - cmdBook(0).Height
    cmdBook(1).top = cmdBook(0).top
    cmdBook(1).Left = cmdBook(0).Left + cmdBook(0).width
'    chkAll.top = cmdBook(0).top
    With msgBook
    .Left = cmdBook(0).Left
    .top = cboBook(0).top + cboBook(0).Height + 75
    .width = Me.ScaleWidth - 100
    .ColWidth(1) = 0
    .ColWidth(2) = 0
    .ColWidth(3) = 0
    If gclsBase.ControlAccount Then
        .ColWidth(5) = 450
    Else
        .ColWidth(6) = 450
    End If
    intWidth = .width - .ColWidth(1) - .ColWidth(2) - .ColWidth(3) - .ColWidth(4)
    .Height = cmdBook(0).top - 575
'    For i = 3 To .Cols - 1
'        .ColWidth(i) = intWidth / (.Cols - 2)
'    Next i
'    .ColWidth(3) = intWidth / 7
'    .ColWidth(4) = intWidth / 7
'    .ColWidth(5) = intWidth / 7
'    .ColWidth(6) = intWidth / 7
'    .ColWidth(7) = intWidth / 7
'    .ColWidth(8) = intWidth / 7
'    .ColWidth(9) = intWidth / 7
'    dteInput.Width = .ColWidth(2) + 4
'    cboBook(2).Width = .ColWidth(3) + 3
    cboBook(1).Left = .Left + .width - cboBook(1).width
    lblBook(1).Left = cboBook(1).Left - lblBook(1).width - 60
'    chkAll.Left = .Left + .Width - chkAll.Width + 40
    dteInput.Left = -50000
    lstInput(0).Left = -50000
    lstInput(1).Left = -50000
    lstInput(2).Left = -50000
    txtInput.Visible = False
    txtCal.Visible = False
    End With
End Sub

Private Sub GetColNO()
    Dim i As Integer
    
    mintCheckCol = 2
    mintDateCol = -1
    mintTypeCol = -1
    mintReceiptNOCol = -1
    mintVoucherTypeCol = -1
    mintVoucherNOCol = -1
    mintRemarkCol = -1
    mintBillNOCol = -1
    mintDebitCol = -1
    mintCreditCol = -1
    mintPayMethodCol = -1
    mintBalCol = -1
    With msgBook
        For i = 1 To .Cols - 1
            If .TextMatrix(0, i) = mstrCheckCol Then
                mintCheckCol = i
            ElseIf .TextMatrix(0, i) = mstrDateCol Then
                mintDateCol = i
            ElseIf .TextMatrix(0, i) = mstrRemarkCol Then
                mintRemarkCol = i
            ElseIf .TextMatrix(0, i) = mstrBillNOCol Then
                mintBillNOCol = i
            ElseIf .TextMatrix(0, i) = mstrDebitCol Then
                mintDebitCol = i
            ElseIf .TextMatrix(0, i) = mstrCreditCol Then
                mintCreditCol = i
            ElseIf .TextMatrix(0, i) = mstrTypeCol Then
                mintTypeCol = i
            ElseIf .TextMatrix(0, i) = mstrReceiptNOCol Then
                mintReceiptNOCol = i
            ElseIf .TextMatrix(0, i) = mstrVoucherTypeCol Then
                mintVoucherTypeCol = i
            ElseIf .TextMatrix(0, i) = mstrVoucherNOCol Then
                mintVoucherNOCol = i
            ElseIf .TextMatrix(0, i) = mstrPayMethodCol Then
                mintPayMethodCol = i
            ElseIf .TextMatrix(0, i) = mstrBalCol Then
                mintBalCol = i
            End If
        Next i
    End With
'    With mclsGrid.ListSet
'    For i = 1 To mclsGrid.ListSet.Columns
'        If InStr(.ColumnFieldName(i), "对帐") > 0 Then
'            mintCheckCol = i + 1
'        ElseIf InStr(.ColumnFieldName(i), "日期") > 0 Then
'            mintDateCol = i + 1
'        ElseIf InStr(.ColumnFieldName(i), "单据类型") > 0 Then
'            mintTypeCol = i + 1
'        ElseIf InStr(.ColumnFieldName(i), "单据号") > 0 Then
'            mintReceiptNOCol = i + 1
'        ElseIf InStr(.ColumnFieldName(i), "摘要") > 0 Then
'            mintRemarkCol = i + 1
'        ElseIf InStr(.ColumnFieldName(i), "票据号") > 0 Then
'            mintBillNOCol = i + 1
'        ElseIf InStr(.ColumnFieldName(i), "借方") > 0 Then
'            mintDebitCol = i + 1
'        ElseIf InStr(.ColumnFieldName(i), "贷方") > 0 Then
'            mintCreditCol = i + 1
'        End If
'    Next i
'    End With
End Sub

Private Sub InitAccountList()
    Dim lngAcnID As Long, strSql As String
    
    cboBook(0).Clear
    strSql = "SELECT * FROM BANKACCOUNTVIEW ORDER BY lngAccountID,lngCurrencyID"
    Set mrecBankAccount = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    With mrecBankAccount
        If Not .EOF Then
            lngAcnID = !lngAccountID
            cboBook(0).AddItem Trim$(!strAccountCode) & String(4, " ") _
                & Trim$(!strAccountName)
            If mlngAcnID = !lngAccountID Then mstrAcnName = Trim$(!strAccountCode) _
                & String(4, " ") & Trim$(!strAccountName)
            cboBook(0).ItemData(cboBook(0).NewIndex) = !lngAccountID
            .MoveNext
        End If
        Do Until .EOF
            If lngAcnID <> !lngAccountID Then
                cboBook(0).AddItem Trim$(!strAccountCode) & String(4, " ") _
                    & Trim$(!strAccountName)

⌨️ 快捷键说明

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