📄 frmagewizard.frm
字号:
End If
If Not mblnPeriodInsertFinish Then
strMsg = "帐龄分析区间设置未完成,请设置帐龄分析区间。"
strTitle = "错误操作:参数不足"
ShowMsg Me.hWnd, strMsg, vbOKOnly + vbCritical, strTitle
tabQueryWizard.Tab = 2
msgPeriod.SetFocus
Exit Sub
End If
' If optSumed1.Value Then '只显示汇总数据
If mclsAgeWizard.IsGrouped = True Then
With mclsAgeWizard
' .IsGrouped = True
For i = 0 To .ColNumber - 1
If .ColIsChoosed(i) Then
If InStr(.colDesc(i), "额") = 0 And InStr(.colDesc(i), "天数") = 0 Then .ColType(i) = 5
blnHaveSumColumn = True
End If
Next i
End With
If Not blnHaveSumColumn Then
strMsg = "汇总分析条件不充分,请选择单位,部门等分组栏目。"
strTitle = "错误操作:参数不足"
ShowMsg Me.hWnd, strMsg, vbOKOnly + vbCritical, strTitle
tabQueryWizard.Tab = 3
lstSelectCols.SetFocus
If lstSelectCols.ListCount > 0 Then
lstSelectCols.ListIndex = 0
End If
Exit Sub
End If
' Else
' mclsAgeWizard.IsGrouped = False
End If
' PeriodRefresh '刷新区间
' If mclsAgeWizard.IsNewWizard Then mclsAgeWizard.AddReport '是新建报表则在 Report 中添加一条记录
mclsFilter.KeyID = mclsAgeWizard.AgeReportID '保存查询条件
' mclsFilter.UpdateCond
Dim IndexRow As Integer
With msgPeriod
For i = 0 To .Rows - 2
If IsNumeric(.TextMatrix(i + 1, 1)) Then
IndexRow = IndexRow + 1
End If
Next
If Not (IndexRow = 1 And IsNumeric(.TextMatrix(1, 1)) And Trim(.TextMatrix(1, 1)) <> "1") Then
mclsAgeWizard.PeriodNumber = IndexRow + 1 ' .Rows ' intCount '将区间写入类模块
mclsAgeWizard.PeriodName(0) = "未过期" '第一个区间默认为 "未过期"
mclsAgeWizard.PeriodDay(0) = -9999
IndexRow = 0
For i = 0 To .Rows - 2 ' intCount - 1
If IsNumeric(.TextMatrix(i + 1, 1)) Then
mclsAgeWizard.PeriodName(IndexRow + 1) = .TextMatrix(i + 1, 0)
mclsAgeWizard.PeriodDay(IndexRow + 1) = CInt(.TextMatrix(i + 1, 1))
IndexRow = IndexRow + 1
End If
Next i
Else '只有一个分析区间时,增加一个区间
mclsAgeWizard.PeriodNumber = 3 ' .Rows ' intCount '将区间写入类模块
mclsAgeWizard.PeriodName(0) = "未过期" '第一个区间默认为 "未过期"
mclsAgeWizard.PeriodDay(0) = -9999
If .TextMatrix(1, 1) = 2 Then
mclsAgeWizard.PeriodName(1) = "过期1天"
Else
mclsAgeWizard.PeriodName(1) = "过期1~" & .TextMatrix(1, 1) - 1 & "天"
End If
mclsAgeWizard.PeriodDay(1) = 1
mclsAgeWizard.PeriodName(2) = "过期" & .TextMatrix(1, 1) & "天以上"
mclsAgeWizard.PeriodDay(2) = .TextMatrix(1, 1)
End If
End With
mclsAgeWizard.AgePre = 2
mclsAgeWizard.strWhere = mclsFilter.GetCond()
mblnOk = True
Unload Me '退出
End Sub
'下一步
Private Sub cmdAgeNext_Click()
With tabQueryWizard
.Tab = .Tab + 1
CmdReset.Visible = False
If .Tab = 4 Then
cmdAgeFinish.Enabled = True
cmdAgeNext.Enabled = False
Else
If .Tab = 2 Then
msgPeriod.SetFocus
ElseIf .Tab = 1 Then
CmdReset.Visible = True
End If
cmdAgeFinish.Enabled = False
cmdAgeNext.Enabled = True
End If
cmdAgePrev.Enabled = True
End With
mblnEnterClick = False
txtInput_LostFocus
End Sub
'上一步
Private Sub cmdAgePrev_Click()
With tabQueryWizard
.Tab = .Tab - 1
CmdReset.Visible = False
If .Tab = 0 Then
cmdAgePrev.Enabled = False
txtAgeName.SetFocus
Else
If .Tab = 2 Then
msgPeriod.SetFocus
ElseIf .Tab = 1 Then
CmdReset.Visible = True
End If
cmdAgePrev.Enabled = True
End If
cmdAgeNext.Enabled = True
cmdAgeFinish.Enabled = False
End With
mblnEnterClick = False
txtInput_LostFocus
End Sub
'检查是否固定栏目
Private Function ColIsFixed(ByVal intIndex As Integer) As Boolean
Dim strStr, strFixed As String
Dim intI As Integer
strStr = lstSelectCols.list(intIndex)
strFixed = GetNoXString(strStr, 7, String(20, " "))
If UCase(strFixed) = UCase("true") Then
ColIsFixed = True
Else
ColIsFixed = False
End If
End Function
'删除所有已选栏目
Private Sub cmdDelAllColumns_Click()
Dim i As Integer
Dim intCount As Integer
intCount = lstSelectCols.ListCount
If intCount > 0 Then
For i = 1 To intCount
If Not ColIsFixed(i - 1) Then
lstChooseCols.AddItem lstSelectCols.list(i - 1)
End If
Next i
End If
If intCount > 0 Then
For i = 1 To intCount
lstSelectCols.ListIndex = intCount - i
If Not ColIsFixed(lstSelectCols.ListIndex) Then
lstSelectCols.RemoveItem (lstSelectCols.ListIndex)
End If
Next i
End If
cmdDelAllColumns.Enabled = False
If lstSelectCols.ListIndex >= 0 Then
cmdDelColumn.Enabled = True
chkGroup.Enabled = True
If InStr(lstSelectCols.Text, "金额") = 0 And InStr(lstSelectCols.Text, "天数") = 0 Then
lblSort.Enabled = True
cboSort.Enabled = True
Else
lblSort.Enabled = False
cboSort.Enabled = False
End If
Else
cmdDelColumn.Enabled = False
chkGroup.Enabled = False
cboSort.Enabled = False
lblSort.Enabled = False
End If
lstChooseCols.ListIndex = 0
If lstChooseCols.ListIndex < 0 Then
cmdAddColumn.Enabled = False
Else
cmdAddColumn.Enabled = True
End If
cmdAddAllColumns.Enabled = True
AdjustDataLimit
End Sub
'删除选定已选栏目
Private Sub cmdDelColumn_Click()
Dim intIndex As Integer
With lstSelectCols
If .ListCount > 0 Then
If (.ListIndex >= 0) And (Not ColIsFixed(.ListIndex)) Then
lstChooseCols.AddItem .list(.ListIndex)
intIndex = .ListIndex
.RemoveItem (.ListIndex)
lstChooseCols.ListIndex = lstChooseCols.ListCount - 1
Else
ShowMsg Me.hWnd, "该栏目是固定栏目,不可删除。", vbOKOnly + vbCritical, "操作错误"
End If
If intIndex < .ListCount Then
.ListIndex = intIndex
ElseIf intIndex = .ListCount Then
If .ListCount > 0 Then
.ListIndex = .ListCount - 1
End If
End If
End If
End With
If lstSelectCols.ListIndex < 0 Then
cmdDelColumn.Enabled = False
chkGroup.Enabled = False
cboSort.Enabled = False
lblSort.Enabled = False
Else
cmdDelColumn.Enabled = True
chkGroup.Enabled = True
If InStr(lstSelectCols.Text, "金额") = 0 And InStr(lstSelectCols.Text, "天数") = 0 Then
lblSort.Enabled = True
cboSort.Enabled = True
Else
lblSort.Enabled = False
cboSort.Enabled = False
End If
End If
If lstSelectCols.ListCount <= 0 Then
cmdDelAllColumns.Enabled = False
Else
cmdDelAllColumns.Enabled = True
End If
If lstChooseCols.ListIndex >= 0 Then
cmdAddColumn.Enabled = True
Else
cmdAddColumn.Enabled = False
End If
cmdAddAllColumns.Enabled = True
AdjustDataLimit
End Sub
'调用 表头表尾设置窗体
'Private Sub cmdHeadTail_Click()
'' Dim frm As New frmCustomerField
'' frm.SetHeadTail mclsAgeWizard
'' Set frm = Nothing
'End Sub
'删除区间中所选定的行(项)
Private Sub cmdPeriodDelete_Click()
With msgPeriod
Dim Index As Long
If .Rows > 1 And .RowSel > 0 And .ColSel = 1 Then
For Index = .RowSel To .Rows - 2
.TextMatrix(Index, 1) = .TextMatrix(Index + 1, 1)
Next
.Rows = .Rows - 1
For Index = 1 To .Rows - 1
If Index = .Rows - 1 Then
.TextMatrix(Index, 0) = "过期" & .TextMatrix(Index, 1) & "天以上"
Else
.TextMatrix(Index, 0) = "过期" & .TextMatrix(Index, 1) & "~" & .TextMatrix(Index + 1, 1) - 1 & "天"
End If
Next
' .TextMatrix(.RowSel, .ColSel) = "Del"
mintPeriodRow = .RowSel
' PeriodRefresh
' .Rows = msgPeriod.Rows - 1
' .ColSel = 1
If mintPeriodRow < .Rows Then
.RowSel = mintPeriodRow
Else
mintPeriodRow = mintPeriodRow - 1
.RowSel = mintPeriodRow
End If
End If
If msgPeriod.Rows = 1 Then
cmdPeriodDelete.Enabled = False
End If
End With
End Sub
'在所选定的行(项)上面增加一行区间(项)
Private Sub cmdPeriodInsert_Click()
Dim intCount, intIndex As Integer
intCount = msgPeriod.Rows
mblnPeriodInsertFinish = False
With msgPeriod
If .RowSel < 0 Or .ColSel <> 1 Then
.RowSel = 0
.ColSel = 1
.SetFocus
Exit Sub
End If
.Rows = .Rows + 1
.ColAlignment(0) = flexAlignLeftCenter
.ColAlignment(1) = flexAlignRightCenter
For intIndex = .Rows - 1 To .RowSel + 2 Step -1 ' .RowSel + 2 Step -1
.TextMatrix(intIndex, 0) = .TextMatrix(intIndex - 1, 0)
.TextMatrix(intIndex, 1) = .TextMatrix(intIndex - 1, 1)
Next intIndex
.RowSel = IIf(.Rows <> 2, .RowSel + 1, 1)
.TextMatrix(.RowSel, 0) = ""
.TextMatrix(.RowSel, 1) = ""
End With
cmdPeriodDelete.Enabled = True
cmdPeriodInsert.Enabled = False
msgPeriod_DblClick
mblnPeriodInsert = True
End Sub
'栏目顺序
Private Sub cmdSerial_Click(Index As Integer)
Dim S1 As String
Select Case Index
Case 0:
With lstSelectCols
If .ListIndex > 0 Then
S1 = .list(.ListIndex)
.list(.ListIndex) = .list(.ListIndex - 1)
.list(.ListIndex - 1) = S1
.ListIndex = .ListIndex - 1
If .ListIndex = 0 Then
cmdSerial(0).Enabled = False
End If
End If
End With
Case 1:
With lstSelectCols
If .ListIndex < .ListCount And .ListIndex >= 0 Then
S1 = .list(.ListIndex)
.list(.ListIndex) = .list(.ListIndex + 1)
.list(.ListIndex + 1) = S1
.ListIndex = .ListIndex + 1
If .ListIndex = .ListCount - 1 Then
cmdSerial(1).Enabled = False
End If
End If
End With
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -