main_fzfind.frm
上传用户:ake0106
上传日期:2022-07-23
资源大小:4052k
文件大小:8k
- VERSION 5.00
- Begin VB.Form main_fzfind
- BorderStyle = 3 'Fixed Dialog
- Caption = "万能查询器"
- ClientHeight = 4440
- ClientLeft = 45
- ClientTop = 330
- ClientWidth = 6840
- Icon = "main_fzfind.frx":0000
- LinkTopic = "Form1"
- MaxButton = 0 'False
- MinButton = 0 'False
- ScaleHeight = 4440
- ScaleWidth = 6840
- ShowInTaskbar = 0 'False
- StartUpPosition = 2 '屏幕中心
- Begin VB.ListBox List1
- Height = 2040
- Left = 75
- TabIndex = 15
- Top = 2325
- Width = 6690
- End
- Begin VB.CommandButton cmdExit
- Caption = "退出"
- Height = 360
- Left = 5265
- TabIndex = 0
- Top = 1815
- Width = 1260
- End
- Begin VB.CommandButton cmdAll
- Caption = "查询所有"
- Height = 360
- Left = 4020
- TabIndex = 14
- Top = 1815
- Width = 1260
- End
- Begin VB.CommandButton cmdFind
- Caption = "查询"
- Enabled = 0 'False
- Height = 360
- Left = 2775
- TabIndex = 1
- Top = 1815
- Width = 1260
- End
- Begin VB.CommandButton cmdDel
- Caption = "清除"
- Enabled = 0 'False
- Height = 360
- Left = 1530
- TabIndex = 13
- Top = 1815
- Width = 1260
- End
- Begin VB.CommandButton cmdAdd
- Caption = "增加"
- Height = 360
- Left = 285
- TabIndex = 12
- Top = 1815
- Width = 1260
- End
- Begin VB.Frame Frame2
- Height = 540
- Left = 75
- TabIndex = 8
- Top = 1185
- Width = 6645
- Begin VB.OptionButton Opt2
- Caption = "或者"
- Height = 225
- Left = 4485
- TabIndex = 11
- Tag = "or"
- Top = 210
- Width = 1275
- End
- Begin VB.OptionButton Opt1
- Caption = "并且"
- Height = 225
- Left = 2130
- TabIndex = 10
- Tag = "and"
- Top = 210
- Width = 1275
- End
- Begin VB.Label Label1
- BackStyle = 0 'Transparent
- Caption = "查找逻辑"
- Height = 210
- Left = 180
- TabIndex = 9
- Top = 225
- Width = 735
- End
- End
- Begin VB.Frame Frame1
- Height = 1155
- Left = 75
- TabIndex = 2
- Top = 30
- Width = 6645
- Begin VB.ComboBox cboFields
- BackColor = &H80000018&
- Height = 300
- Left = 945
- Style = 2 'Dropdown List
- TabIndex = 5
- Top = 255
- Width = 2295
- End
- Begin VB.TextBox txtdata
- BackColor = &H80000018&
- Height = 300
- Left = 945
- TabIndex = 4
- Top = 690
- Width = 5490
- End
- Begin VB.ComboBox cboOperator
- BackColor = &H80000018&
- Height = 300
- Left = 4140
- Style = 2 'Dropdown List
- TabIndex = 3
- Top = 225
- Width = 2295
- End
- Begin VB.Label Label3
- Caption = "字段名称 运算符"
- ForeColor = &H00FF0000&
- Height = 285
- Left = 135
- TabIndex = 7
- Top = 315
- Width = 5280
- End
- Begin VB.Label Label4
- Caption = "关 键 字"
- ForeColor = &H00FF0000&
- Height = 255
- Left = 135
- TabIndex = 6
- Top = 720
- Width = 1155
- End
- End
- End
- Attribute VB_Name = "main_fzfind"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Dim fld
- Dim rs As New ADODB.Recordset
- Private Sub cmdAdd_Click()
- Dim myval As String
- If cboFields.text = "" Then
- MsgBox "系统不允许字段名称为空!", , "提示窗口"
- Exit Sub
- End If
- If cboOperator.text = "" Then
- MsgBox "系统不允许运算符为空!", , "提示窗口"
- Exit Sub
- End If
- If txtdata.text = "" Then
- MsgBox "系统不允许关键字为空!", , "提示窗口"
- Exit Sub
- End If
- rs.Open tb1, Cnn, adOpenKeyset, adLockOptimistic
- Select Case rs.Fields(cboFields.ListIndex).Type
- Case 129, 200, 201 '字符型
- If cboOperator.text = "like" Then
- myval = "like + '%'+'" + txtdata + "'+'%'"
- Else
- myval = cboOperator & "'" + txtdata + "'"
- End If
- Case 135 '日期型
- If cboOperator.text = "like" Then
- MsgBox "日期型数据不能选用“Like”作为运算符!", , "提示窗口"
- cboOperator.ListIndex = 1
- End If
- If IsDate(txtdata) = False Then
- MsgBox "请输入正确的日期!", , "提示窗口"
- rs.Close
- Exit Sub
- End If
- myval = cboOperator & "'" + txtdata + "'"
- Case 131, 20, 3, 6 '数值型数据
- If IsNumeric(txtdata) = False Then
- MsgBox "请输入正确的数据!", , "提示窗口"
- rs.Close
- Exit Sub
- End If
- If cboOperator.text = "like" Then
- MsgBox "数字数据不能选用“Like”作为运算符!"
- cboOperator.ListIndex = 1
- End If
- myval = cboOperator & txtdata
- Case 11
- If txtdata <> 0 Or txtdata <> 1 Then
- MsgBox "只能输入0或1!", , "提示窗口"
- rs.Close
- Exit Sub
- End If
- End Select
- If List1.ListCount > 0 Then
- If Opt1.Value = False And Opt2.Value = False Then
- MsgBox "必须选择一个逻辑值!", , "提示窗口"
- Opt1.Value = True
- End If
- If Opt1.Value = True Then
- List1.AddItem Opt1.Tag & " " & tb1 & "." & cboFields & " " & myval
- End If
- If Opt2.Value = True Then
- List1.AddItem Opt2.Tag & " " & tb1 & "." & cboFields & " " & myval
- End If
- Else
- List1.AddItem tb1 & "." & cboFields & " " & myval
- End If
- cmdFind.Enabled = True
- rs.Close
- End Sub
- Private Sub Form_Load()
- rs.Open tb1, Cnn, adOpenKeyset, adLockOptimistic
- Set fld = rs.Fields
- For Each fld In rs.Fields
- '向combo控件中添加字段
- cboFields.AddItem fld.Name
- Next
- rs.Close
- cboFields.ListIndex = 0
- '向cboOperator中添加查询条件
- cboOperator.AddItem ("like")
- cboOperator.AddItem (">")
- cboOperator.AddItem ("=")
- cboOperator.AddItem (">=")
- cboOperator.AddItem ("<")
- cboOperator.AddItem ("<=")
- cboOperator.AddItem ("<>")
- cboOperator.ListIndex = 0
- End Sub
- Private Sub List1_Click()
- cmdDel.Enabled = True
- End Sub
- Private Sub cmdFind_Click() '查询
- Dim intX As Integer '声明计数器变量。
- For intX = 1 To List1.ListCount
- txtsql = txtsql & " " & List1.List(intX)
- Next intX
- Select Case Left(List1.List(0), 3)
- Case "and"
- sql1 = tb1 & " where " & Right(List1.List(0), Len(List1.List(0)) - 3) & Trim(txtsql)
- Case "or"
- sql1 = tb1 & " where " & Right(List1.List(0), Len(List1.List(0)) - 2) & Trim(txtsql)
- Case Else
- sql1 = tb1 & " where " & List1.List(0) & Trim(txtsql)
- End Select
- Unload Me
- End Sub
- Private Sub cmdAll_Click()
- sql1 = tb1
- Unload Me
- End Sub
- Private Sub cmdDel_Click()
- List1.RemoveItem (List1.ListIndex)
- cmdDel.Enabled = False
- If List1.ListCount = 0 Then cmdFind.Enabled = False
- End Sub
- Private Sub cmdExit_Click()
- Unload Me
- End Sub