main_fzfind.frm
上传用户:ake0106
上传日期:2022-07-23
资源大小:4052k
文件大小:8k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form main_fzfind 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "万能查询器"
  5.    ClientHeight    =   4440
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   6840
  9.    Icon            =   "main_fzfind.frx":0000
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   4440
  14.    ScaleWidth      =   6840
  15.    ShowInTaskbar   =   0   'False
  16.    StartUpPosition =   2  '屏幕中心
  17.    Begin VB.ListBox List1 
  18.       Height          =   2040
  19.       Left            =   75
  20.       TabIndex        =   15
  21.       Top             =   2325
  22.       Width           =   6690
  23.    End
  24.    Begin VB.CommandButton cmdExit 
  25.       Caption         =   "退出"
  26.       Height          =   360
  27.       Left            =   5265
  28.       TabIndex        =   0
  29.       Top             =   1815
  30.       Width           =   1260
  31.    End
  32.    Begin VB.CommandButton cmdAll 
  33.       Caption         =   "查询所有"
  34.       Height          =   360
  35.       Left            =   4020
  36.       TabIndex        =   14
  37.       Top             =   1815
  38.       Width           =   1260
  39.    End
  40.    Begin VB.CommandButton cmdFind 
  41.       Caption         =   "查询"
  42.       Enabled         =   0   'False
  43.       Height          =   360
  44.       Left            =   2775
  45.       TabIndex        =   1
  46.       Top             =   1815
  47.       Width           =   1260
  48.    End
  49.    Begin VB.CommandButton cmdDel 
  50.       Caption         =   "清除"
  51.       Enabled         =   0   'False
  52.       Height          =   360
  53.       Left            =   1530
  54.       TabIndex        =   13
  55.       Top             =   1815
  56.       Width           =   1260
  57.    End
  58.    Begin VB.CommandButton cmdAdd 
  59.       Caption         =   "增加"
  60.       Height          =   360
  61.       Left            =   285
  62.       TabIndex        =   12
  63.       Top             =   1815
  64.       Width           =   1260
  65.    End
  66.    Begin VB.Frame Frame2 
  67.       Height          =   540
  68.       Left            =   75
  69.       TabIndex        =   8
  70.       Top             =   1185
  71.       Width           =   6645
  72.       Begin VB.OptionButton Opt2 
  73.          Caption         =   "或者"
  74.          Height          =   225
  75.          Left            =   4485
  76.          TabIndex        =   11
  77.          Tag             =   "or"
  78.          Top             =   210
  79.          Width           =   1275
  80.       End
  81.       Begin VB.OptionButton Opt1 
  82.          Caption         =   "并且"
  83.          Height          =   225
  84.          Left            =   2130
  85.          TabIndex        =   10
  86.          Tag             =   "and"
  87.          Top             =   210
  88.          Width           =   1275
  89.       End
  90.       Begin VB.Label Label1 
  91.          BackStyle       =   0  'Transparent
  92.          Caption         =   "查找逻辑"
  93.          Height          =   210
  94.          Left            =   180
  95.          TabIndex        =   9
  96.          Top             =   225
  97.          Width           =   735
  98.       End
  99.    End
  100.    Begin VB.Frame Frame1 
  101.       Height          =   1155
  102.       Left            =   75
  103.       TabIndex        =   2
  104.       Top             =   30
  105.       Width           =   6645
  106.       Begin VB.ComboBox cboFields 
  107.          BackColor       =   &H80000018&
  108.          Height          =   300
  109.          Left            =   945
  110.          Style           =   2  'Dropdown List
  111.          TabIndex        =   5
  112.          Top             =   255
  113.          Width           =   2295
  114.       End
  115.       Begin VB.TextBox txtdata 
  116.          BackColor       =   &H80000018&
  117.          Height          =   300
  118.          Left            =   945
  119.          TabIndex        =   4
  120.          Top             =   690
  121.          Width           =   5490
  122.       End
  123.       Begin VB.ComboBox cboOperator 
  124.          BackColor       =   &H80000018&
  125.          Height          =   300
  126.          Left            =   4140
  127.          Style           =   2  'Dropdown List
  128.          TabIndex        =   3
  129.          Top             =   225
  130.          Width           =   2295
  131.       End
  132.       Begin VB.Label Label3 
  133.          Caption         =   "字段名称                             运算符"
  134.          ForeColor       =   &H00FF0000&
  135.          Height          =   285
  136.          Left            =   135
  137.          TabIndex        =   7
  138.          Top             =   315
  139.          Width           =   5280
  140.       End
  141.       Begin VB.Label Label4 
  142.          Caption         =   "关 键 字"
  143.          ForeColor       =   &H00FF0000&
  144.          Height          =   255
  145.          Left            =   135
  146.          TabIndex        =   6
  147.          Top             =   720
  148.          Width           =   1155
  149.       End
  150.    End
  151. End
  152. Attribute VB_Name = "main_fzfind"
  153. Attribute VB_GlobalNameSpace = False
  154. Attribute VB_Creatable = False
  155. Attribute VB_PredeclaredId = True
  156. Attribute VB_Exposed = False
  157. Dim fld
  158. Dim rs As New ADODB.Recordset
  159. Private Sub cmdAdd_Click()
  160.   Dim myval As String
  161.   If cboFields.text = "" Then
  162.     MsgBox "系统不允许字段名称为空!", , "提示窗口"
  163.     Exit Sub
  164.   End If
  165.   If cboOperator.text = "" Then
  166.     MsgBox "系统不允许运算符为空!", , "提示窗口"
  167.     Exit Sub
  168.   End If
  169.   If txtdata.text = "" Then
  170.     MsgBox "系统不允许关键字为空!", , "提示窗口"
  171.     Exit Sub
  172.   End If
  173.   rs.Open tb1, Cnn, adOpenKeyset, adLockOptimistic
  174.   Select Case rs.Fields(cboFields.ListIndex).Type
  175.     Case 129, 200, 201       '字符型
  176.       If cboOperator.text = "like" Then
  177.          myval = "like + '%'+'" + txtdata + "'+'%'"
  178.       Else
  179.          myval = cboOperator & "'" + txtdata + "'"
  180.       End If
  181.     Case 135                  '日期型
  182.       If cboOperator.text = "like" Then
  183.          MsgBox "日期型数据不能选用“Like”作为运算符!", , "提示窗口"
  184.          cboOperator.ListIndex = 1
  185.       End If
  186.       If IsDate(txtdata) = False Then
  187.          MsgBox "请输入正确的日期!", , "提示窗口"
  188.          rs.Close
  189.          Exit Sub
  190.       End If
  191.       myval = cboOperator & "'" + txtdata + "'"
  192.     Case 131, 20, 3, 6        '数值型数据
  193.       If IsNumeric(txtdata) = False Then
  194.          MsgBox "请输入正确的数据!", , "提示窗口"
  195.          rs.Close
  196.          Exit Sub
  197.       End If
  198.       If cboOperator.text = "like" Then
  199.          MsgBox "数字数据不能选用“Like”作为运算符!"
  200.          cboOperator.ListIndex = 1
  201.       End If
  202.       myval = cboOperator & txtdata
  203.     Case 11
  204.       If txtdata <> 0 Or txtdata <> 1 Then
  205.         MsgBox "只能输入0或1!", , "提示窗口"
  206.         rs.Close
  207.         Exit Sub
  208.       End If
  209.   End Select
  210.   If List1.ListCount > 0 Then
  211.      If Opt1.Value = False And Opt2.Value = False Then
  212.        MsgBox "必须选择一个逻辑值!", , "提示窗口"
  213.        Opt1.Value = True
  214.      End If
  215.      If Opt1.Value = True Then
  216.         List1.AddItem Opt1.Tag & " " & tb1 & "." & cboFields & " " & myval
  217.      End If
  218.      If Opt2.Value = True Then
  219.         List1.AddItem Opt2.Tag & " " & tb1 & "." & cboFields & " " & myval
  220.      End If
  221.   Else
  222.      List1.AddItem tb1 & "." & cboFields & " " & myval
  223.   End If
  224.   cmdFind.Enabled = True
  225.   rs.Close
  226. End Sub
  227. Private Sub Form_Load()
  228.   rs.Open tb1, Cnn, adOpenKeyset, adLockOptimistic
  229.   Set fld = rs.Fields
  230.   For Each fld In rs.Fields
  231.       '向combo控件中添加字段
  232.       cboFields.AddItem fld.Name
  233.   Next
  234.   rs.Close
  235.   cboFields.ListIndex = 0
  236.   '向cboOperator中添加查询条件
  237.   cboOperator.AddItem ("like")
  238.   cboOperator.AddItem (">")
  239.   cboOperator.AddItem ("=")
  240.   cboOperator.AddItem (">=")
  241.   cboOperator.AddItem ("<")
  242.   cboOperator.AddItem ("<=")
  243.   cboOperator.AddItem ("<>")
  244.   cboOperator.ListIndex = 0
  245. End Sub
  246. Private Sub List1_Click()
  247.   cmdDel.Enabled = True
  248. End Sub
  249. Private Sub cmdFind_Click()        '查询
  250.   Dim intX As Integer   '声明计数器变量。
  251.   For intX = 1 To List1.ListCount
  252.      txtsql = txtsql & " " & List1.List(intX)
  253.   Next intX
  254.   Select Case Left(List1.List(0), 3)
  255.     Case "and"
  256.       sql1 = tb1 & " where " & Right(List1.List(0), Len(List1.List(0)) - 3) & Trim(txtsql)
  257.     Case "or"
  258.       sql1 = tb1 & " where " & Right(List1.List(0), Len(List1.List(0)) - 2) & Trim(txtsql)
  259.     Case Else
  260.       sql1 = tb1 & " where " & List1.List(0) & Trim(txtsql)
  261.   End Select
  262.   Unload Me
  263. End Sub
  264. Private Sub cmdAll_Click()
  265.   sql1 = tb1
  266.   Unload Me
  267. End Sub
  268. Private Sub cmdDel_Click()
  269.   List1.RemoveItem (List1.ListIndex)
  270.   cmdDel.Enabled = False
  271.   If List1.ListCount = 0 Then cmdFind.Enabled = False
  272. End Sub
  273. Private Sub cmdExit_Click()
  274.   Unload Me
  275. End Sub