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

📄 frmbankdetail.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
End Sub

Private Sub LstInput_Choose()
    If msgBill.TextMatrix(mintRow, 3) <> TxtToDouble(lstInput.TextMatrix(lstInput.ReferRow, 1)) Then
        msgBill.TextMatrix(msgBill.Row, mintCheckCol) = ""
        msgBill.TextMatrix(mintRow, 3) = TxtToDouble(lstInput.TextMatrix(lstInput.ReferRow, 1))
        msgBill.TextMatrix(mintRow, mintPayMethodCol) = lstInput.Text
        msgBill.TextMatrix(mintRow, 1) = "-1"
        mblnIsChanged = True
    End If
End Sub

Private Sub lstInput_Delete()
    If frmPaymentMethodCard.DelCard(msgBill.TextMatrix(mintRow, 3), Me.hwnd) Then
        msgBill.TextMatrix(mintRow, 3) = 0
        msgBill.TextMatrix(mintRow, 1) = "-1"
        msgBill.TextMatrix(mintRow, mintPayMethodCol) = ""
        msgBill.TextMatrix(msgBill.Row, mintCheckCol) = ""
        setlistbox lstInput, 33, msgBill.TextMatrix(mintRow, 3)
        mblnIsChanged = True
    End If
End Sub

Private Sub lstInput_Edit()
    If msgBill.TextMatrix(mintRow, 3) = 0 Then
        ShowMsg hwnd, "请先选择付款方式再进行修改!", vbExclamation, Caption
        Exit Sub
    End If
    frmPaymentMethodCard.EditCard msgBill.TextMatrix(mintRow, 3), vbModal
    setlistbox lstInput, 33, msgBill.TextMatrix(mintRow, 3)
    msgBill.TextMatrix(mintRow, 1) = "-1"
    mblnIsChanged = True
End Sub

Private Sub lstInput_ItemNotExist()
    Dim lngID As Long
    
    If Trim(lstInput.Text) = "" Then Exit Sub
    If frmMsgAdd.MsgAddShow(Caption, "付款方式中没有" & lstInput.Text) = vbOK Then
        lngID = frmPaymentMethodCard.AddCard(lstInput.Text, vbModal)
        If lngID <> 0 Then
            msgBill.TextMatrix(mintRow, 3) = lngID
            msgBill.TextMatrix(msgBill.Row, mintCheckCol) = ""
        End If
        setlistbox lstInput, 33, lngID
    Else
        msgBill.TextMatrix(mintRow, 3) = 0
        msgBill.TextMatrix(mintRow, mintPayMethodCol) = ""
    End If
    msgBill.TextMatrix(mintRow, 1) = "-1"
    mblnIsChanged = True
End Sub

Private Sub lstInput_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim i As Integer
    Static blnIsLeft As Boolean
    
'    GetColNO
    Select Case KeyCode
    Case vbKeyReturn
        If mintPayMethodCol < msgBill.Cols - 1 Then
            msgBill.col = mintPayMethodCol + 1
            msgBill.SetFocus
        Else
            msgBill.col = 2
            AddBill
        End If
    Case vbKeyUp
'        For i = msgBill.Row - 1 To 1 Step -1
'            If msgBill.RowHeight(i) > 0 Then Exit For
'        Next i
'        If msgBill.CellTop < msgBill.top + msgBill.RowHeight(0) Then msgBill.SetFocus
'        If i > 0 Then msgBill.Row = i
'        msgBill_Click
    Case vbKeyDown
'        For i = msgBill.Row + 1 To msgBill.Rows - 1
'            If msgBill.RowHeight(i) > 0 Then Exit For
'        Next i
'        If i < msgBill.Rows Then
''            msgBill.SetFocus
'            msgBill.Row = i
'            msgBill_Click
'        End If
    Case vbKeyLeft
        If lstInput.SelStart = 0 Then
            If Not blnIsLeft Then
                blnIsLeft = True
            Else
                msgBill.SetFocus
                BKKEY msgBill.hwnd, vbKeyLeft
                blnIsLeft = False
            End If
        End If
    Case vbKeyRight
        If lstInput.SelStart = Len(lstInput.Text) Then
            msgBill.SetFocus
            BKKEY msgBill.hwnd, vbKeyRight
        End If
    End Select
End Sub

Private Sub lstInput_LostFocus()
    If Me.ActiveControl.Name <> "lstInput" Then
        lstInput.Move -50000
    End If
End Sub

Private Sub mclsGrid_AfterColChange(lngSourCol As Long, lngDestCol As Long)
    dteInput.Left = -50000
    lstInput.Left = -50000
    GetColNO
End Sub

Private Sub mclsMainControl_EditColumn()
    setColumn
End Sub

Private Sub mclsMainControl_EditDel()
    On Error GoTo ErrHandle
    If frmMain.mnuListEditMenu(1).Enabled Then
        DeleteBill
    End If
ErrHandle:
End Sub

Private Sub mclsMainControl_EditNew()
    AddBill
End Sub

Private Sub mclsMainControl_FilePrint()
    FilePrint
End Sub

Private Sub mclsMainControl_FilePrintSetup()
    Dim MyPrintSet As PrintClass
    Dim intListPrintID As Integer
    
    Set MyPrintSet = New PrintClass
    MyPrintSet.PrintSetUp gclsBase.BaseDB, msgBill, , , , 68, Caption & Chr(1) _
            & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName & Chr(1) & "科目:" _
            & cboBill(0).Text & SpaceNum & "币种:" & cboBill(1).Text
    Set MyPrintSet = Nothing
End Sub

Private Sub mclsMainControl_ListEditMenu(ByVal intIndex As Integer)
    Dim i As Integer
    
    Select Case intIndex
    Case 0
        AddBill
    Case 1
        DeleteBill
'    Case 3
'        Dim strSql As String
'        If mclsGrid.ListSet.ListID < 1 Then mclsGrid.ListSet.SaveList
'        strSql = Filter.ShowFilter(mclsGrid.ListSet.ListID, 1)
''        If Trim(strSql) <> "" Then
'            If mblnIsChanged Then
'                If ShowMsg(hwnd, "筛选要刷新显示,您要保存对帐单数据吗?", _
'                    vbQuestion + vbYesNo, Caption) = vbYes Then
'                    SaveData
'                End If
'            End If
'            InitGrid strSql
'            Form_Resize
'        End If
    Case 3
        setColumn
    Case 5
        FilePrint
    End Select
End Sub

Private Sub FilePrint()
    Dim myPrintclass As PrintClass
    Set myPrintclass = New PrintClass
    myPrintclass.PrintList gclsBase.BaseDB, msgBill, 68, Caption & Chr(1) _
        & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName & Chr(1) & "科目:" _
        & cboBill(0).Text & SpaceNum & "币种:" & cboBill(1).Text
End Sub

Private Function SpaceNum() As String
    Dim i As Integer, lWidth As Long, strX As String
    
    For i = 0 To msgBill.Cols - 1
        lWidth = lWidth + msgBill.ColWidth(i)
    Next i
    lWidth = lWidth - TextWidth("科目:" & cboBill(0).Text & "币种:" & cboBill(1).Text)
    While TextWidth(strX) < lWidth * 7 / 10
        strX = strX & " "
    Wend
    SpaceNum = strX
End Function

Private Sub mclsMainControl_ListReportMenu(ByVal intIndex As Integer)
    If mblnIsChanged Then
        If ShowMsg(hwnd, "您要保存对帐单的数据吗?", vbQuestion + vbYesNo, Caption) = vbYes Then
            Me.Hide
            MsgForm.PleaseWait
            mblnIsHide = True
            SaveData
            InitGrid
            mblnIsHide = False
            Unload MsgForm
            Me.Show
        End If
        mblnIsChanged = False
    End If
    Report.ShowStandardReport 591, 540
End Sub

Private Sub mclsMainControl_ToolRefresh()
    Dim blnOK As Boolean
    
    mblnIsHide = True
    dteInput.Move -50000
    lstInput.Move -50000
    If txtInput.Visible Then txtInput.Visible = False
    If txtCal.Visible Then txtCal.Visible = False
    If mblnIsChanged Then
        blnOK = (ShowMsg(hwnd, "要保存本次对帐单编辑的结果吗?", vbQuestion + vbYesNo, Caption) = vbYes)
    End If
    MsgForm.PleaseWait
    If blnOK Then SaveData
    InitGrid
    Unload MsgForm
    mblnIsHide = False
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 = 350
        MinMax.ptMinTrackSize.y = 260

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

Private Sub Paste()
    Dim iLeft As Integer, i As Integer
    
    On Error Resume Next
    If mblnIsHide Then Exit Sub
'    GetColNO
'    If mintRow = 1 Then Exit Sub
    If msgBill.TextMatrix(msgBill.Row, 2) = "9" Then Exit Sub
    With msgBill
        If .col = mintPayMethodCol Then
            dteInput.Move -50000
            lstInput.Text = .TextMatrix(mintRow, mintPayMethodCol)
            lstInput.Move .Left + .CellLeft, .top + .CellTop, .ColWidth(mintPayMethodCol), .RowHeight(mintRow)
            If .TextMatrix(mintRow, 3) > "0" Then lstInput.SeekId .TextMatrix(mintRow, 3)
            lstInput.SetFocus
        Else
            lstInput.Move -50000
        '    iLeft = 0
        '    For i = 1 To mintDateCol - 1
        '        If .ColIsVisible(i) Then
        '            iLeft = iLeft + .ColWidth(i)
        '        End If
        '    Next i
            dteInput.Text = Trim$(.TextMatrix(mintRow, mintDateCol))
            dteInput.Move .Left + .CellLeft, .top + .CellTop, .ColWidth(mintDateCol), .RowHeight(mintRow)
        '    dteInput.Move .Left + iLeft, .top + .CellTop, .ColWidth(mintDateCol)
            If Not mblnIsInit Then dteInput.SetFocus
        End If
    End With
    mintPRow = msgBill.Row
End Sub

Private Sub msgBill_Click()
'    GetColNO
    mintRow = msgBill.Row
    UpdateMenuStatus
    If msgBill.col = mintDateCol Or msgBill.col = mintPayMethodCol Then Paste
End Sub

Private Sub msgBill_DblClick()
    If msgBill.col = mintCheckCol Or msgBill.col = mintPayMethodCol Or Not mblnRowValid Then Exit Sub
    If CellAllowEdit Then EditGrid 0 'vbKeyEnd
End Sub

Private Sub msgBill_EnterCell()
    
'    GetColNO
    UpdateMenuStatus
    If dteInput.Left > 0 And Trim(dteInput.Text) = "" Then Exit Sub
    If txtInput.Visible Then txtInput_LostFocus
    If mintRow = 0 Or msgBill.Row = 0 Or msgBill.RowHeight(msgBill.Row) = 0 Or mblnIsSort Then Exit Sub
'    If mblnIsAdd And mintRow = msgBill.Row Then Exit Sub   ?
    If mintRow <> msgBill.Row Then mblnIsAdd = False
'    BillIsValid
'    If Not mblnValueOK And mintRow <> msgBill.Row Then Exit Sub
'    If mintRow <> msgBill.Row Then Exit Sub
    mintCol = msgBill.col
'    mintPRow = mintRow
    mintRow = msgBill.Row
    If msgBill.col = mintDateCol Or msgBill.col = mintPayMethodCol Then
        Paste
    Else
        If Trim(dteInput.Text) = "" Then Exit Sub
        dteInput.Move -50000
        lstInput.Move -50000
    End If
End Sub

Private Sub GetColNO()
    Dim i As Integer
    
    mintCheckCol = 5
    mintDateCol = -1
    mintRemarkCol = -1
    mintBillNOCol = -1
    mintDebitCol = -1
    mintCreditCol = -1
    mintPayMethodCol = -1
    mintBalCol = -1
    With msgBill
        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) = mstrBalCol Then
                mintBalCol = i
            ElseIf .TextMatrix(0, i) = mstrPayMethodCol Then
                mintPayMethodCol = 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 + 3
'        ElseIf InStr(.ColumnFieldName(i), "日期") > 0 Then
'            mintDateCol = i + 3
'        ElseIf InStr(.ColumnFieldName(i), "摘要") > 0 Then
'            mintRemarkCol = i + 3
'        ElseIf InStr(.ColumnFieldName(i), "票据号") > 0 Then
'            mintBillNOCol = i + 3
'        ElseIf InStr(.ColumnFieldName(i), "借方") > 0 Then
'            mintDebitCol = i + 3
'        ElseIf InStr(.ColumnFieldName(i), "贷方") > 0 Then
'            mintCreditCol = i + 3
'        ElseIf InStr(.ColumnFieldName(i), "余额") > 0 Then
'            mintBalCol = i + 3
'        End If
'    Next i
'    End With
End Sub

Private Function MakeSQL(ByVal iRow As Integer, ByVal isAdd As Boolean, AcnID As Long, CurID As Long) As String
    Dim strSql1 As String, strsql2 As String
    
    With msgBill
    If isAdd Then
        strSql1 = "INSERT INTO BankDetail(lngBankDetailID,lngAccountID,lngCurrencyID,lngPaymentMethodID," _
            & "strDate,intDirection,dblAmount,dblBalance,lngOperatorID"

⌨️ 快捷键说明

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