📄 findcustomize.frm
字号:
FindFieldCombo.AddItem "国内生产总值" '数字型
FindFieldCombo.AddItem "第一产业产值" '数字型
FindFieldCombo.AddItem "第二产业产值" '数字型
FindFieldCombo.AddItem "第三产业产值" '数字型
FindFieldCombo.AddItem "种植业产值" '数字型
FindFieldCombo.AddItem "牧业产值" '数字型
FindFieldCombo.AddItem "林业产值" '数字型
FindFieldCombo.AddItem "乡镇企业产值" '数字型
FindFieldCombo.ListIndex = 0 '县名
selectyearCombo1.AddItem "1999"
selectyearCombo1.ListIndex = 0
If fMainForm.Map1.Geoset = App.Path & "\maps\四川省行政区划图.gst" Then
FindCustomize.Caption = "四川省行政区划图查询窗口"
Else
If fMainForm.Map1.Layers.Item("a-地貌").Visible = True Then
FindCustomize.Caption = "四川省地貌区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-气候").Visible = True Then
FindCustomize.Caption = "四川省农业气候区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-水利").Visible = True Then
FindCustomize.Caption = "四川省水利区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-水文").Visible = True Then
FindCustomize.Caption = "四川省农业水文地质区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-企业").Visible = True Then
FindCustomize.Caption = "四川省乡镇企业区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-畜牧").Visible = True Then
FindCustomize.Caption = "四川省畜牧业区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-渔业").Visible = True Then
FindCustomize.Caption = "四川省渔业区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-种植业").Visible = True Then
FindCustomize.Caption = "四川省种植业区划图查询窗口"
End If
If fMainForm.Map1.Layers.Item("a-综农").Visible = True Then
FindCustomize.Caption = "四川省综合农业区划图查询窗口"
End If
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
For i = 1 To fMainForm.Map1.Datasets.Count
If fMainForm.Map1.Datasets.Item(i).Name = "1g12_year" Then
fMainForm.Map1.Datasets.Remove ("1g12_year")
Exit For
End If
Next
End Sub
Private Sub OKButton_Click()
FindCustomize.MousePointer = ccHourglass '设置鼠标为沙漏形
'/**********选择模糊查询************/
Dim FindValue As Variant '查询值变量
Dim FindYear As Variant '所选年份变量
Dim FoundFeatures As Features '查询结果地物集
Dim var As New MapXLib.Variables 'SQL语句的查询变量集
Dim mytext As String
Dim i As Integer
Dim db As Database
Dim myrs As ADODB.Recordset
ProBar1.Min = 0
ProBar1.Value = 0
ProBar1.Max = 100
If FindFieldCombo.Text = "县名" Or FindFieldCombo.Text = "行政代码" Or FindFieldCombo.Text = "邮政编码" Then '针对字符型字段进行模糊查询,选择年份后可查看某年的数据
ProBar1.Visible = True
var.Add "vValue", "%" & FindValueText.Text & "%"
mytext = FindFieldCombo.Text & "等于" & FindValueText.Text & "的区县"
Else '针对数字型字段
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 0 Then
MsgBox "请选择运算符号!", , "提示信息"
FindCustomize.MousePointer = ccDefault
Exit Sub
End If
ProBar1.Visible = True
On Error GoTo NumError
FindValue = CDbl(FindValueText.Text)
On Error Resume Next
var.Add "vValue", FindValue
'/*以下是为frmselectmore的label1的caption准备*/
If FindFieldCombo.Text = "土地面积" Then '土地面积应与年份无关
If Optionmore.Value = True And Checkequal.Value = 0 Then
mytext = FindFieldCombo.Text & "大于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
mytext = FindFieldCombo.Text & "大于等于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
mytext = FindFieldCombo.Text & "等于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
mytext = FindFieldCombo.Text & "小于等于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionless.Value = True And Checkequal.Value = 0 Then
mytext = FindFieldCombo.Text & "小于" & FindValueText.Text & Label4.Caption & "的区县"
End If
Else '其它字段与年份有关,故应说明在哪一年
If Optionmore.Value = True And Checkequal.Value = 0 Then
mytext = selectyearCombo1.Text & "年" & FindFieldCombo.Text & "大于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
mytext = selectyearCombo1.Text & "年" & FindFieldCombo.Text & "大于等于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
mytext = selectyearCombo1.Text & "年" & FindFieldCombo.Text & "等于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
mytext = selectyearCombo1.Text & "年" & FindFieldCombo.Text & "小于等于" & FindValueText.Text & Label4.Caption & "的区县"
End If
If Optionless.Value = True And Checkequal.Value = 0 Then
mytext = selectyearCombo1.Text & "年" & FindFieldCombo.Text & "小于" & FindValueText.Text & Label4.Caption & "的区县"
End If
End If
End If
'/*删除dataset(1g12_year)*/
For i = 1 To fMainForm.Map1.Datasets.Count
If fMainForm.Map1.Datasets.Item(i).Name = "1g12_year" Then
fMainForm.Map1.Datasets.Remove ("1g12_year")
Exit For
End If
Next
If selectyearCombo1.Text <> "不选年份" Then '如果不选年份,则无需创建数据绑定,否则需创建数据绑定
'/* 以下是创建数据绑定databinding */
Set db = OpenDatabase(App.Path & "\scdb_yearsdata.mdb")
' On Error Resume Next
Connect.Execute ("Drop Table yearsdata_year")
Connect.Execute ("select * into yearsdata_year from yearsdata where 年份='" & selectyearCombo1.Text & "'")
Set myrs = New ADODB.Recordset
myrs.CursorType = adOpenKeyset
myrs.LockType = adLockOptimistic
myrs.Open "yearsdata_year", Connect, , , adCmdTable
ProBar1.Value = ProBar1.Value + 30
fMainForm.Map1.Datasets.Add miDataSetADO, myrs, "1g12_year", "行政代码", , "1g12"
ProBar1.Value = ProBar1.Value + 20
End If
'/*以下执行查询*/
Select Case FindFieldCombo.Text
Case "县名"
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("县名 like vValue", var)
Case "行政代码"
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("行政代码 like vValue", var)
Case "邮政编码"
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("邮政编码 like vValue", var)
Case "土地面积"
If Optionmore.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("土地面积 > vValue", var)
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("土地面积 >= vValue", var)
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("土地面积 = vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("土地面积 <= vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("土地面积 < vValue", var)
End If
Case "播种面积"
If Optionmore.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("播种面积 > vValue ", var)
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("播种面积 >= vValue", var)
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("播种面积 = vValue ", var)
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("播种面积 <= vValue ", var)
End If
If Optionless.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("播种面积 < vValue ", var)
End If
Case "耕地面积"
If Optionmore.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("耕地面积 > vValue", var)
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("耕地面积 >= vValue", var)
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("耕地面积 = vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("耕地面积 <= vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("耕地面积 < vValue", var)
End If
Case "县总人口"
If Optionmore.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("县总人口 > vValue", var)
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("县总人口 >= vValue", var)
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("县总人口 = vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("县总人口 <= vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("县总人口 < vValue", var)
End If
Case "非农业人口"
If Optionmore.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("非农业人口 > vValue", var)
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("非农业人口 >= vValue", var)
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("非农业人口 = vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("非农业人口<= vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("非农业人口 < vValue", var)
End If
Case "农村人口"
If Optionmore.Value = True And Checkequal.Value = 0 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("农村人口 > vValue", var)
End If
If Optionmore.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("农村人口 >= vValue", var)
End If
If Optionmore.Value = False And Optionless.Value = False And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("农村人口 = vValue", var)
End If
If Optionless.Value = True And Checkequal.Value = 1 Then
Set FoundFeatures = fMainForm.Map1.Layers("1g12").Search("农村人口 <= vValue", var)
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -