📄
字号:
VERSION 5.00
Begin VB.Form ProFx_Seach
BorderStyle = 1 'Fixed Single
Caption = "查询条件"
ClientHeight = 1770
ClientLeft = 45
ClientTop = 330
ClientWidth = 3720
Icon = "产品毛利率分析查询条件.frx":0000
KeyPreview = -1 'True
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 1770
ScaleWidth = 3720
StartUpPosition = 2 '屏幕中心
Begin VB.Frame Frame1
Caption = "分析日期"
Height = 1185
Index = 0
Left = 105
TabIndex = 3
Top = 105
Width = 3510
Begin VB.ComboBox Combo_BaseDate
Height = 300
Left = 120
Style = 2 'Dropdown List
TabIndex = 5
Top = 705
Width = 3195
End
Begin VB.ComboBox Combo_Type
Height = 300
Left = 105
Style = 2 'Dropdown List
TabIndex = 4
Top = 210
Width = 3210
End
End
Begin VB.CommandButton QdCommand
Caption = "确定(&O)"
Height = 300
Left = 1215
TabIndex = 2
Top = 1395
Width = 1120
End
Begin VB.CommandButton QxCommand
Caption = "取消(&C)"
Height = 300
Left = 2460
TabIndex = 0
Top = 1395
Width = 1120
End
Begin VB.CheckBox UnloadCheck
Caption = "卸载窗体"
Height = 615
Left = 8250
TabIndex = 1
Top = 720
Visible = 0 'False
Width = 825
End
End
Attribute VB_Name = "ProFx_Seach"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Public bSeach As Boolean '查询标志,父窗体根据此变量判断是否执行查询
Public itype As Integer ' month or year or day
Private UsedYear() As String '已使用年数据,如:UsedYear(0)="1999",UsedYear(1)="2000"
Private iHowManyYears As Integer '已使用的年数
Private iMaxMonth As Integer '最大使用月份
Dim Combo_Change_Locked As Boolean 'Combo控件变化锁(是否被锁,False没有锁,
'这时锁是开着的;True锁定,被锁住了,
'锁住时,Click事件不起作用,默认锁是开着的,
'默认值为False)
Private Tsxx As String '系统提示信息
Private Sub Form_KeyPress(KeyAscii As Integer) '控 制 焦 点 转 移
Dim jdzygs As Integer '控件焦点转移个数
jdzygs = 30
Select Case KeyAscii
Case vbKeyReturn
If Kjjdzy(jdzygs) Then
KeyAscii = 0
End If
Case 39 '屏蔽"'"
KeyAscii = 0
End Select
End Sub
Private Sub Form_Load()
Call GetUsedYear
Call GetUsedMonth
'填充
Call FillCombo(Combo_Type, "BaseGuideLineSeach", "", 0)
Call FillThisYear(Combo_BaseDate)
'Call FillYear(Combo_SelYear)
End Sub
Private Sub FillThisYear(PastComb As ComboBox)
With PastComb
.Clear
.AddItem Xtyear
.ListIndex = 0
End With
End Sub
Private Sub FillYear(PastComb As ComboBox)
Dim i As Integer
With PastComb
.Clear
For i = 0 To iHowManyYears
.AddItem UsedYear(i)
Next
End With
End Sub
Private Sub FillMonth(PastComb As ComboBox, ByVal PastYear As String)
Dim i As Integer
With PastComb
.Clear
If iMaxMonth < 1 Then Exit Sub
For i = 1 To iMaxMonth
.AddItem PastYear & "." & Format(i, "00")
Next
End With
End Sub
Private Sub FillThreeMonth(PastComb As ComboBox, ByVal PastYear As String)
Dim i As Integer
With PastComb
.Clear
If iMaxMonth < 1 Then Exit Sub
For i = 1 To 4
.AddItem PastYear & "." & Format(((i - 1) * 3 + 1), "00") & "-" & PastYear & "." & Format((i * 3), "00")
Next
End With
End Sub
Private Sub GetUsedYear()
'由Form_Load 调用,得到此帐套已使用的年度,存于UsedYear()数据中
Dim temRs As New ADODB.Recordset
Dim strSql As String
Dim i As Integer
strSql = "SELECT DISTINCT kjyear AS cYear FROM xt_kjrlb"
Set temRs = Cw_DataEnvi.DataConnect.Execute(strSql)
iHowManyYears = temRs.RecordCount - 1
ReDim UsedYear(iHowManyYears)
With temRs
Do Until .EOF
UsedYear(i) = !cYear
i = i + 1
.MoveNext
Loop
End With
If temRs.State = adStateOpen Then temRs.Close
Set temRs = Nothing
End Sub
Private Sub GetUsedMonth()
'由Form_Load 调用,得到此帐套已使用的最大月份,存于iMaxMonth数据中
Dim temRs As New ADODB.Recordset
Dim strSql As String
Dim i As Integer
strSql = "SELECT Max(mm) AS cMonth FROM xt_kjrlb"
Set temRs = Cw_DataEnvi.DataConnect.Execute(strSql)
With temRs
If Not (.EOF And .BOF) Then
iMaxMonth = !cMonth
End If
End With
If temRs.State = adStateOpen Then temRs.Close
Set temRs = Nothing
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
' If UnloadCheck.Value <> 1 Then
' Cancel = 1
' Me.Hide
' End If
End Sub
Private Sub QdCommand_Click() '确 定
'录入条件有效性判断
If Not Lrtjyxxpd Then
Exit Sub
End If
bSeach = True '设置标志
Me.Hide
End Sub
Private Sub QxCommand_Click() '取消
bSeach = False '设置标志,不执行查询
Me.Hide
End Sub
Private Function Lrtjyxxpd() As Boolean '用户录入条件有效性判断
Dim Jsqte As Integer
Lrtjyxxpd = False
'[>>以下为依据实际情况自定义部分
If Combo_BaseDate.ListIndex = -1 Then
Xtxxts "请选择分析期间!", 0, 1
Lrtjyxxpd = False
Exit Function
End If
' If Combo_SelYear.ListIndex <> -1 And Combo_SelYear.ListIndex <> 0 Then
' If Combo_CompDate.ListIndex = -1 Then
' Xtxxts "请选择比较期间!", 0, 1
' Lrtjyxxpd = False
' Exit Function
' End If
' End If
'<<]以上为依据实际情况自定义部分
Lrtjyxxpd = True
End Function
Private Sub Combo_Type_Click()
Select Case Combo_Type.ListIndex
Case 0
Call FillThisYear(Combo_BaseDate)
'Combo_CompDate.Clear
'Combo_CompDate.Enabled = False
Case 1
Call FillMonth(Combo_BaseDate, Xtyear)
'If Combo_SelYear.ListIndex <> -1 Then
' Combo_CompDate.Enabled = True
' Call FillMonth(Combo_CompDate, Combo_SelYear.Text)
'End If
Case 2
Call FillThreeMonth(Combo_BaseDate, Xtyear)
'If Combo_SelYear.ListIndex <> -1 Then
' Combo_CompDate.Enabled = True
'Call FillThreeMonth(Combo_CompDate, Combo_SelYear.Text)
' End If
End Select
itype = Combo_Type.ListIndex
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -