📄
字号:
.Fields("Add_2") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("005", GridStr(), Szzls)))
.Fields("Budget_3") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("006", GridStr(), Szzls)))
.Fields("Add_3") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("007", GridStr(), Szzls)))
.Fields("Budget_4") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("008", GridStr(), Szzls)))
.Fields("Add_4") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("009", GridStr(), Szzls)))
.Fields("Budget_5") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("010", GridStr(), Szzls)))
.Fields("Add_5") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("011", GridStr(), Szzls)))
.Fields("Budget_6") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("012", GridStr(), Szzls)))
.Fields("Add_6") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("013", GridStr(), Szzls)))
.Fields("Budget_7") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("014", GridStr(), Szzls)))
.Fields("Add_7") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("015", GridStr(), Szzls)))
.Fields("Budget_8") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("016", GridStr(), Szzls)))
.Fields("Add_8") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("017", GridStr(), Szzls)))
.Fields("Budget_9") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("018", GridStr(), Szzls)))
.Fields("Add_9") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("019", GridStr(), Szzls)))
.Fields("Budget_10") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("020", GridStr(), Szzls)))
.Fields("Add_10") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("021", GridStr(), Szzls)))
.Fields("Budget_11") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("022", GridStr(), Szzls)))
.Fields("Add_11") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("023", GridStr(), Szzls)))
.Fields("Budget_12") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("024", GridStr(), Szzls)))
.Fields("Add_12") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("025", GridStr(), Szzls)))
.Fields("YearBudget") = Val(WglrGrid.TextMatrix(Yxxpdh, Sydz("027", GridStr(), Szzls)))
.Update
WglrGrid.TextMatrix(Yxxpdh, 1) = .Fields("I_id")
End If
End With
Cw_DataEnvi.DataConnect.CommitTrans
' <<]
'以上为自定义部分]
Sjhzyxxpd = True
Hyxxpdlock = True
Exit Function
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "存盘过程中出现未知错误,程序自动恢复保存前状态!"
Call Xtxxts(Tsxx, 0, 1)
Exit Function
Lrcwcl: '录入错误处理
With WglrGrid
Call Xtxxts(Tsxx, 0, 1)
changelock = True
.Select Yxxpdh, Lrywlz
changelock = False
Call xswbk
Sjhzyxxpd = False
Exit Function
End With
End Function
'===================以 下 程 序 为 通 用 部 分 ,一 般 不 需 更 改======================='
Private Sub Sub_AdjustGrid()
'调 整 网 格
With WglrGrid
'加 1 保持一行录入行
If .Rows < Pmbcsjhs + .FixedRows + Fzxwghs + 1 Then
.Rows = Pmbcsjhs + .FixedRows + Fzxwghs + 1
For Jsqte = .FixedRows To .Rows - 1
.RowHeight(Jsqte) = Sjhgd
Next Jsqte
Else
'判断是否有辅助行和录入行,如没有则加行
Do While .TextMatrix(.Rows - 1 - Fzxwghs, 0) = "*"
.AddItem ""
.RowHeight(.Rows - 1) = Sjhgd
Loop
End If
End With
End Sub
Private Sub Lrzdbz() '录入字段帮助
If Not Ydcommand.Visible Then
Exit Sub
End If
Valilock = True
With WglrGrid
changelock = True '调入另外窗体必须加锁
If .Col = Sydz("001", GridStr(), Szzls) Then
Call Drbmhelp(GridInt(.Col, 6), GridStr(.Col, 3), Trim(Ydtext.Text))
Str_Ccode = Xtfhcs
End If
changelock = False
If Len(Xtfhcs) <> 0 Then
If GridInt(.Col, 7) = 0 Then
Ydtext.Text = Xtfhcs
Else
Ydtext.Text = Xtfhcsfz
End If
End If
Valilock = False
If Ydtext.Visible Then
Ydtext.SetFocus
End If
End With
End Sub
Private Sub Form_Resize() '窗体大小发生变化时,重新显示文本框
Call Cxxswbk
End Sub
Private Function Fun_Drfrmyxxpd() As Boolean '调入其它窗体或功能产生的有效性判断(包括数据回写)
Fun_Drfrmyxxpd = True
With WglrGrid
'如果当前网格处于编辑状态,则先进行数据回写再进行有效性判断
If Ydtext.Visible Or YdCombo.Visible Then
Call Lrsjhx
If Not sjzdyxxpd(Dqlrwgh, Dqlrwgl) Then
Fun_Drfrmyxxpd = False
Exit Function
End If
End If
'进行行有效性判断
If Not Sjhzyxxpd(.Row) Then
Fun_Drfrmyxxpd = False
Exit Function
End If
End With
End Function
Private Sub WglrGrid_GotFocus() '网格得到焦点
'网格得到焦点,如果当前选择行为非数据行
'则调整当前焦点至有效数据行
With WglrGrid
If .Row < .FixedRows And .Rows > .FixedRows Then
changelock = True
.Select .FixedRows, .Col
changelock = False
End If
If .Col < Qslz Then
changelock = True
.Select .Row, Qslz
changelock = False
End If
End With
End Sub
Private Sub WglrGrid_LostFocus() '录入网格失去焦点
'用以屏蔽调用其它窗体时发生网格失去焦点事件
If changelock Then
Exit Sub
End If
'引发网格RowcolChange事件
With WglrGrid
If Not (Ydtext.Visible Or YdCombo.Visible) Then
.Select 0, 0
End If
End With
End Sub
Private Sub WglrGrid_Scroll() '限制用户在录入过程中滚动鼠标
If Gdtlock Then
Exit Sub
End If
With WglrGrid
If Ydtext.Visible Or YdCombo.Visible Then
Gdtlock = True
.TopRow = Dqtoprow
.LeftCol = Dqleftcol
Gdtlock = False
Exit Sub
End If
End With
End Sub
Private Sub WglrGrid_LeaveCell() '离开单元格
If changelock Then
Exit Sub
End If
'记录刚刚离开网格单元的行列值
Dqlkwgh = WglrGrid.Row
Dqlkwgl = WglrGrid.Col
'判断是否需要录入数据回写
If Not (Ydtext.Visible Or YdCombo.Visible) Then
Exit Sub
End If
Call Lrsjhx
End Sub
Private Sub WglrGrid_RowColChange() '网格录入行列发生变化时,进行有效性判断
Valilock = True '屏蔽文本框失去焦点进行有效性判断
With WglrGrid
If changelock Then
Exit Sub
End If
If Not sjzdyxxpd(Dqlrwgh, Dqlrwgl) Then
Exit Sub
End If
If .Row <> Dqlkwgh Then
If Not Sjhzyxxpd(Dqlkwgh) Then
Exit Sub
End If
End If
End With
Call fhyxh
Call Xldql
End Sub
Private Sub WglrGrid_DblClick() '鼠标双击网格显示文本框
Dim i As Integer
Dim Bln_Add As Boolean
Dim CurrentRow As Integer
Dim CurrentCol As Integer
Let Bln_Add = False
With WglrGrid
'非数据行退出
If .Row < .FixedRows Then
Exit Sub
End If
For i = 3 To 25 Step 2 '如果是追加列则取月份
If .Col = Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls) Then
Bln_Add = True
Int_Month = Int(i / 2)
Exit For
End If
Next
On Error GoTo Swcwcl1
If Bln_Add Then '是追加列调用追加金额form
Str_Show = "部门:" + Trim(Str_DeptName) + " 预算科目:" & Trim(.TextMatrix(.Row, Sydz("001", GridStr(), Szzls))) & " 会计年度:" & Trim(Str(Int_OriYear)) & " 月份:" & Trim(Str(Int_Month))
Str_TableAdd = "cwfx_DeptBudgetSlaver"
Int_I_Id = .TextMatrix(.Row, 1)
Str_Title = "部门预算追加金额表"
Str_ReportSubTitle = Space(2) + Trim(Str_DeptName) + Space(2) + Fun_FormatOutPut("会计年度:" + Str(Int_OriYear), 30)
CurrentRow = .Row
CurrentCol = .Col
YS_FrmBudgetAdd.Show 1
.Row = CurrentRow
.Col = CurrentCol
.TextMatrix(.Row, .Col) = IIf(Cur_TableAdd = 0, "", Cur_TableAdd) '金额回写单位格
Cur_SumBudget = 0
For i = 2 To 25
Cur_SumBudget = Cur_SumBudget + Val(.TextMatrix(.Row, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)))
Next
.TextMatrix(.Row, Sydz("026", GridStr(), Szzls)) = IIf(Cur_SumBudget = 0, "", Cur_SumBudget)
Hyxxpdlock = False
Else
Call xswbk
End If
End With
Exit Sub
Swcwcl1:
Tsxx = "先确认本次预算金额的录入才能录入追加金额!"
Call Xtxxts(Tsxx, 0, 1)
End Sub
Private Sub Ycwbk() '隐藏文本框,帮助按钮,列表组合框
Valilock = True
Ydtext.Visible = False
YdCombo.Visible = False
Ydcommand.Visible = False
End Sub
Private Sub YdCombo_KeyDown(KeyCode As Integer, Shift As Integer) '列表框移动
With WglrGrid
Select Case KeyCode
Case vbKeyEscape 'ESC 键放弃录入
Valilock = True
.SetFocus
Call Ycwbk
Valilock = False
Case vbKeyReturn '回 车 键 =13
KeyCode = 0
.SetFocus
Call Lrsjhx
Rowjsq = .Row
Coljsq = .Col + 1
If Coljsq > .Cols - 1 Then
If Rowjsq < .Rows - 1 Then
Rowjsq = Rowjsq + 1
End If
Coljsq = Qslz
End If
Do While Rowjsq <= .Rows - 1
If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
Coljsq = Coljsq + 1
If Coljsq > .Cols - 1 Then
Rowjsq = Rowjsq + 1
Coljsq = Qslz
End If
Else
Exit Do
End If
Loop
.Select Rowjsq, Coljsq
Case vbKeyLeft '左 箭 头 =37
If .Col - 1 = Qslz Then
If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
GoTo jzzx
End If
End If
If .Col > Qslz Then
KeyCode = 0
.SetFocus
Call Lrsjhx
Coljsq = .Col - 1
Do While Coljsq > Qslz
If Coljsq - 1 = Qslz Then
If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
GoTo jzzx
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -