📄 frmcustomerbankcard.frm
字号:
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 + -