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

📄 frmcustomerbankcard.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    strSql = "SELECT * FROM Customer WHERE lngCustomerID=" & lngCustomerID
    Set recCustomer = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    If recCustomer.EOF Then
        ShowMsg 0, "该单位不存在,不能对其发货地址进行编辑!", vbExclamation + MB_TASKMODAL, Caption
        Unload Me
    Else
        lblBank(1).Caption = Trim(recCustomer!strCustomerCode) & "  " _
            & Trim(recCustomer!strCustomerName)
        mlngCustomerID = lngCustomerID
        mlngCustomerBankID = lngID
        Caption = "修改单位开户银行"
        If Not InitCard() Then
            ShowMsg 0, "该单位开户银行不存在,不能进行编辑!", vbExclamation + MB_TASKMODAL, Caption
            Unload Me
        End If
        Show intModal
    End If
    recCustomer.Close
End Sub

Private Function InitCard(Optional strName As String = "") As Boolean
    Dim i As Integer
    
    mblnIsInit = True
    InitGrid
    InitCard = True
    If mlngCustomerBankID = 0 Then
        txtName(0).Text = Trim(strName)
        txtName(1).Text = ""
    Else
        With msgBank
        For i = 1 To .Rows - 1
            If .TextMatrix(i, 0) = mlngCustomerBankID Then Exit For
        Next i
        If i < .Rows Then
            .Row = i
            msgBank_Click
        Else
            InitCard = False
            Exit Function
        End If
        End With
    End If
    mblnIsInit = False
End Function

'刷新开户银行GRID
Private Sub InitGrid()
    Dim strSql As String
    
    strSql = "SELECT lngCustomerBankID,strBankName AS ""银行"",strAccountNO AS ""帐号"" " _
        & "FROM CustomerBank WHERE lngCustomerID=" _
        & mlngCustomerID
    Set Data1.Resultset = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    If Data1.Resultset.EOF Then
        msgBank.Rows = 2
        msgBank.RowHeight(1) = 0
        msgBank.TextMatrix(1, 0) = 0
        msgBank.RowData(1) = -1
    End If
    msgBank.FixedAlignment(1) = flexAlignCenterCenter
    msgBank.FixedAlignment(2) = flexAlignCenterCenter
    msgBank.ColWidth(1) = msgBank.width / 3
    msgBank.ColWidth(2) = msgBank.width - msgBank.ColWidth(1)
    mintRow = 1
    mclsGrid.SetupStyle
End Sub

Private Sub cmdOK_Click(Index As Integer)
    Dim strMess As String
    
    Select Case Index
    Case 0
        If cmdOk(2).Enabled Then
'            If mblnBankIsAdd Then
'                strMess = "要保存新增的开户银行“" & Trim$(txtName(0).Text) _
'                    & "” 及帐号 “" & Trim$(txtName(1).Text) & "” 吗?"
'            Else
'                strMess = "要保存对开户银行“" & Trim$(txtName(0).Text) _
'                    & "” 及帐号 “" & Trim$(txtName(1).Text) & "” 的修改吗?"
'            End If
'            If ShowMsg(hwnd, strMess, vbQuestion + vbYesNo, Caption) = vbYes Then
                cmdOk(2).Value = True
                If Not mblnBankCodeValid Then Exit Sub
'            End If
        Else
            If txtName(0).Text = "" And txtName(1).Text <> "" Then
                ShowMsg hwnd, "开户银行编码不能为空.", vbExclamation, Caption
                txtName(0).SetFocus
                Exit Sub
            ElseIf txtName(0).Text <> "" And txtName(1).Text = "" Then
                ShowMsg hwnd, "开户银行名称不能为空.", vbExclamation, Caption
               txtName(1).SetFocus
                Exit Sub
            End If
        End If
        If SaveCard Then Unload Me
    Case 1
        Unload Me
    Case 2
        CheckBankCode
        If Not mblnBankCodeValid Then
            ShowMsg hwnd, "开户行" & Trim$(txtName(0).Text) & "及帐号" & _
                Trim$(txtName(1).Text) & "已被使用,请重新录入!", vbExclamation + MB_TASKMODAL, Caption
            txtName(1).SelStart = 0
            txtName(1).SelLength = Len(txtName(1).Text)
            txtName(1).SetFocus
            Exit Sub
        End If
        If mblnBankIsAdd Then
            mintRow = msgBank.Rows
            msgBank.Rows = msgBank.Rows + 1
            msgBank.TextMatrix(mintRow, 0) = 0  '新增
        Else
            msgBank.RowData(mintRow) = -5 '被修改
            cmdOk(3).Enabled = False
            mblnBankIsAdd = True
        End If
        msgBank.TextMatrix(mintRow, 1) = txtName(0).Text
        msgBank.TextMatrix(mintRow, 2) = txtName(1).Text
        txtName(0).Text = ""
        txtName(1).Text = ""
        cmdOk(2).Enabled = False
        cmdOk(2).Caption = "新增(&A)"
'        SendKeys "%{J}"
    Case 3
        If mintRow = 0 Or msgBank.RowHeight(mintRow) = 0 Then Exit Sub
        If CodeIsUsed(msgBank.TextMatrix(mintRow, 0)) Then
            ShowMsg Me.hwnd, "单位开户银行已有业务发生,不能删除!", _
                vbExclamation + MB_TASKMODAL, "删除单位开户银行"
        ElseIf ShowMsg(hwnd, "您确实要删除单位开户银行“" & txtName(0).Text _
            & "” “" & txtName(1).Text & "”吗?", _
            vbQuestion + vbYesNo + vbDefaultButton2, "删除单位开户银行") = vbYes Then
            msgBank.RowData(mintRow) = -1   '被删除
            msgBank.RowHeight(mintRow) = 0
            txtName(0).Text = ""
            txtName(1).Text = ""
            mblnBankIsAdd = True
            mblnIsChanged = True
            cmdOk(2).Enabled = False
            cmdOk(3).Enabled = False
            cmdOk(2).Caption = "新增(&A)"
'            SendKeys "%{J}"
        End If
    Case 4
        txtName(0).Text = ""
        txtName(1).Text = ""
        mblnBankIsAdd = True
        cmdOk(2).Enabled = False
        cmdOk(3).Enabled = False
        cmdOk(2).Caption = "新增(&A)"
'        SendKeys "%{J}"
    End Select
End Sub

Private Function CodeIsUsed(ByVal lngID As Long) As Boolean
    CodeIsUsed = True
    If lngID <> 0 Then
        If CheckIDUsed("ItemActivity", "lngCustomerBankID", lngID) Then Exit Function
    End If
    CodeIsUsed = False
End Function

Private Sub Form_Activate()
    SetHelpID Me.HelpContextID
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
    If mblnIsList Then
        mblnIsList = False
        Exit Sub
    End If
    If KeyAscii = vbKeyReturn Then
        BKKEY Me.ActiveControl.hwnd, vbKeyTab
    End If
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If Shift = 4 And KeyCode = vbKeyL Then msgBank_Click
    If KeyCode = vbKeyReturn And Shift = 2 Then
        cmdOk(0).Value = True
    ElseIf KeyCode = vbKeyL And Shift = 4 Then
        msgBank.Row = msgBank.Rows - 1
    End If
End Sub

Private Sub Form_Load()
    Dim edtErrReturn As ErrDealType
    
    On Error GoTo ErrHandle
'    SetHelpID hwnd, 15009
    Utility.LoadFormResPicture Me
    Set mclsGrid = New Grid
    Set mclsGrid.Grid = msgBank
    mblnBankIsAdd = True
    Exit Sub
ErrHandle:
    edtErrReturn = Errors.ErrorsDeal
    
    If edtErrReturn = edtResume Then
         Resume
    Else
         On Error Resume Next
         Unload Me
    End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Dim intResponse As Integer
    
    If mblnIsChanged And UnloadMode = vbFormControlMenu Then
        intResponse = ShowMsg(hwnd, "当前单位开户银行已被修改,是否保存?", _
            vbYesNoCancel + vbQuestion, Caption)
        If intResponse = vbYes Then
            Cancel = Not SaveCard()
        ElseIf intResponse = vbCancel Then
            Cancel = True
        End If
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
    Set mclsGrid = Nothing
    mblnIsChanged = False
    Utility.UnLoadFormResPicture Me
End Sub

Private Sub msgBank_Click()
    If msgBank.Row = 0 Or msgBank.RowHeight(msgBank.Row) = 0 Then Exit Sub
    
    If Not mblnBankIsAdd Then
        If cmdOk(2).Enabled Then
            If ShowMsg(hwnd, "要保存修改的数据吗?", vbQuestion + vbYesNo + MB_TASKMODAL, _
                Caption) = vbYes Then
                
                CheckBankCode
                If Not mblnBankCodeValid Then
                    ShowMsg hwnd, "开户行" & Trim$(txtName(0).Text) & "及帐号" & _
                        Trim$(txtName(1).Text) & "已被使用,请重新录入!", vbExclamation + MB_TASKMODAL, Caption
                    txtName(1).SelStart = 0
                    txtName(1).SelLength = Len(txtName(1).Text)
                    txtName(1).SetFocus
                    Exit Sub
                End If
                msgBank.TextMatrix(mintRow, 1) = txtName(0).Text
                msgBank.TextMatrix(mintRow, 2) = txtName(1).Text
                msgBank.RowData(mintRow) = -5 '被修改
            End If
        End If
    Else
        If cmdOk(2).Enabled Then
            If ShowMsg(hwnd, "要保存新增的数据吗?", vbQuestion + vbYesNo, Caption) = vbYes Then
                CheckBankCode
                If Not mblnBankCodeValid Then
                    ShowMsg hwnd, "开户行" & Trim$(txtName(0).Text) & "及帐号" & _
                        Trim$(txtName(1).Text) & "已被使用,请重新录入!", vbExclamation + MB_TASKMODAL, Caption
                    txtName(1).SelStart = 0
                    txtName(1).SelLength = Len(txtName(1).Text)
                    txtName(1).SetFocus
                    Exit Sub
                End If
                msgBank.Rows = msgBank.Rows + 1
                msgBank.TextMatrix(msgBank.Rows - 1, 0) = 0    '新增
                msgBank.TextMatrix(msgBank.Rows - 1, 1) = txtName(0).Text
                msgBank.TextMatrix(msgBank.Rows - 1, 2) = txtName(1).Text
            End If
        End If
        'cmdOk(2).Picture = LoadPicture(App.Path & "\Edit.Bmp")
    End If
    txtName(0).Text = Trim(msgBank.TextMatrix(msgBank.Row, 1))
    txtName(1).Text = Trim(msgBank.TextMatrix(msgBank.Row, 2))
    mblnBankIsAdd = False
    cmdOk(3).Enabled = True
    cmdOk(2).Enabled = False
    cmdOk(2).Caption = "修改(&E)"
    mintRow = msgBank.Row
'    SendKeys "%{J}"
End Sub

Private Function SaveCard() As Boolean
    Dim i As Integer ', recBank As rdoResultset
    Dim strSql As String
    
    SaveCard = True
    If Not mblnIsChanged Then Exit Function
    On Error GoTo ErrHandle
    gclsBase.BaseWorkSpace.BeginTrans
'    j = 0           '最后新增的开户银行
    For i = 1 To msgBank.Rows - 1
        If msgBank.RowData(i) <> -1 Then
            If msgBank.TextMatrix(i, 0) = 0 Then
                mlngCustomerBankID = GetNewID("CustomerBank")
                strSql = "INSERT INTO CustomerBank(lngCustomerBankID,strBankName,strAccountNO,lngCustomerID) " _
                    & "VALUES(" & mlngCustomerBankID & ",'" & msgBank.TextMatrix(i, 1) & "','" & msgBank.TextMatrix(i, 2) _
                    & "'," & mlngCustomerID & ")"
'                j = i
            ElseIf msgBank.RowData(i) = -5 Then
                strSql = "UPDATE CustomerBank SET strBankName='" & msgBank.TextMatrix(i, 1) _
                    & "',strAccountNO='" & msgBank.TextMatrix(i, 2) & "' WHERE " _
                    & "lngCustomerBankID=" & msgBank.TextMatrix(i, 0)
            Else
                strSql = ""
            End If
        Else
            strSql = "DELETE FROM CustomerBank WHERE lngCustomerBankID=" & _
                msgBank.TextMatrix(i, 0)
        End If
        If strSql <> "" Then
            If Not gclsBase.ExecSQL(strSql) Then GoTo ErrHandle
        End If
    Next i
'    If j > 0 Then
'        strSql = "SELECT * FROM CustomerBank WHERE trim(strBankName)='" _
'            & Trim(msgBank.TextMatrix(j, 1)) & "' AND trim(strAccountNO)='" _
'            & Trim(msgBank.TextMatrix(j, 2)) & "'"
'        Set recBank = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
'        If Not recBank.EOF Then mlngCustomerBankID = recBank!lngCustomerBankID
'        recBank.Close
'    End If
    gclsBase.BaseWorkSpace.CommitTrans
    gclsSys.SendMessage Me.hwnd, Message.msgCustomerBank
    mblnIsChanged = False
    Exit Function
ErrHandle:
    SaveCard = False
End Function

Private Sub txtName_Change(Index As Integer)
    If mblnBankIsAdd Then
        If Trim$(txtName(0).Text) = "" Or Trim$(txtName(1).Text) = "" Then
            cmdOk(2).Enabled = False
        Else
            cmdOk(2).Enabled = True
        End If
    Else
        cmdOk(2).Enabled = True
    End If
    If Trim$(txtName(0).Text) <> "" Or Trim$(txtName(1).Text) <> "" Then
        cmdOk(4).Enabled = True
    Else
        cmdOk(4).Enabled = False
    End If
    If ContainErrorChar(txtName(Index).Text) Then
        BKKEY txtName(Index).hwnd
    End If
    If Not mblnIsInit Then mblnIsChanged = True
End Sub

Private Sub txtName_KeyPress(Index As Integer, KeyAscii As Integer)
    If InStr("`~!@#$%^&*=+' "";:,./?|\", Chr(KeyAscii)) > 0 Then KeyAscii = 0
End Sub

⌨️ 快捷键说明

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