home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 6 / mastvb6.iso / ch_code / ch17 / finddemo / findform.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1998-07-08  |  8.0 KB  |  264 lines

  1. VERSION 5.00
  2. Object = "{00028C01-0000-0000-0000-000000000046}#1.0#0"; "DBGRID32.OCX"
  3. Begin VB.Form FindForm 
  4.    Caption         =   "FindDemo"
  5.    ClientHeight    =   5490
  6.    ClientLeft      =   60
  7.    ClientTop       =   345
  8.    ClientWidth     =   7710
  9.    LinkTopic       =   "Form2"
  10.    ScaleHeight     =   5490
  11.    ScaleWidth      =   7710
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.CommandButton Command4 
  14.       Caption         =   "Find Last"
  15.       BeginProperty Font 
  16.          Name            =   "Verdana"
  17.          Size            =   9.75
  18.          Charset         =   0
  19.          Weight          =   400
  20.          Underline       =   0   'False
  21.          Italic          =   0   'False
  22.          Strikethrough   =   0   'False
  23.       EndProperty
  24.       Height          =   375
  25.       Left            =   4800
  26.       TabIndex        =   7
  27.       Top             =   1080
  28.       Width           =   1455
  29.    End
  30.    Begin VB.CommandButton Command3 
  31.       Caption         =   "Find Next"
  32.       BeginProperty Font 
  33.          Name            =   "Verdana"
  34.          Size            =   9.75
  35.          Charset         =   0
  36.          Weight          =   400
  37.          Underline       =   0   'False
  38.          Italic          =   0   'False
  39.          Strikethrough   =   0   'False
  40.       EndProperty
  41.       Height          =   375
  42.       Left            =   3240
  43.       TabIndex        =   6
  44.       Top             =   1080
  45.       Width           =   1455
  46.    End
  47.    Begin VB.CommandButton Command2 
  48.       Caption         =   "Find Previous"
  49.       BeginProperty Font 
  50.          Name            =   "Verdana"
  51.          Size            =   9.75
  52.          Charset         =   0
  53.          Weight          =   400
  54.          Underline       =   0   'False
  55.          Italic          =   0   'False
  56.          Strikethrough   =   0   'False
  57.       EndProperty
  58.       Height          =   375
  59.       Left            =   1680
  60.       TabIndex        =   5
  61.       Top             =   1080
  62.       Width           =   1455
  63.    End
  64.    Begin VB.CommandButton Command1 
  65.       Caption         =   "Find First"
  66.       BeginProperty Font 
  67.          Name            =   "Verdana"
  68.          Size            =   9.75
  69.          Charset         =   0
  70.          Weight          =   400
  71.          Underline       =   0   'False
  72.          Italic          =   0   'False
  73.          Strikethrough   =   0   'False
  74.       EndProperty
  75.       Height          =   375
  76.       Left            =   120
  77.       TabIndex        =   4
  78.       Top             =   1080
  79.       Width           =   1455
  80.    End
  81.    Begin VB.TextBox txtSearchValue 
  82.       BeginProperty Font 
  83.          Name            =   "Verdana"
  84.          Size            =   9
  85.          Charset         =   0
  86.          Weight          =   400
  87.          Underline       =   0   'False
  88.          Italic          =   0   'False
  89.          Strikethrough   =   0   'False
  90.       EndProperty
  91.       Height          =   315
  92.       Left            =   1440
  93.       TabIndex        =   3
  94.       Top             =   540
  95.       Width           =   4815
  96.    End
  97.    Begin VB.Data Data1 
  98.       Caption         =   "Data1"
  99.       Connect         =   "Access"
  100.       DatabaseName    =   "C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb"
  101.       DefaultCursorType=   0  'DefaultCursor
  102.       DefaultType     =   2  'UseODBC
  103.       Exclusive       =   0   'False
  104.       Height          =   345
  105.       Left            =   0
  106.       Options         =   0
  107.       ReadOnly        =   0   'False
  108.       RecordsetType   =   1  'Dynaset
  109.       RecordSource    =   "Categories"
  110.       Top             =   5040
  111.       Visible         =   0   'False
  112.       Width           =   7335
  113.    End
  114.    Begin VB.ComboBox cmbFields 
  115.       BeginProperty Font 
  116.          Name            =   "Verdana"
  117.          Size            =   9
  118.          Charset         =   0
  119.          Weight          =   400
  120.          Underline       =   0   'False
  121.          Italic          =   0   'False
  122.          Strikethrough   =   0   'False
  123.       EndProperty
  124.       Height          =   330
  125.       Left            =   3960
  126.       TabIndex        =   2
  127.       Top             =   82
  128.       Width           =   2295
  129.    End
  130.    Begin VB.ComboBox cmbTables 
  131.       BeginProperty Font 
  132.          Name            =   "Verdana"
  133.          Size            =   9
  134.          Charset         =   0
  135.          Weight          =   400
  136.          Underline       =   0   'False
  137.          Italic          =   0   'False
  138.          Strikethrough   =   0   'False
  139.       EndProperty
  140.       Height          =   330
  141.       Left            =   1440
  142.       TabIndex        =   1
  143.       Top             =   82
  144.       Width           =   2295
  145.    End
  146.    Begin MSDBGrid.DBGrid DBGrid1 
  147.       Bindings        =   "FindForm.frx":0000
  148.       Height          =   3840
  149.       Left            =   165
  150.       OleObjectBlob   =   "FindForm.frx":0014
  151.       TabIndex        =   0
  152.       Top             =   1560
  153.       Width           =   7440
  154.    End
  155.    Begin VB.Label Label2 
  156.       Caption         =   "Search For"
  157.       BeginProperty Font 
  158.          Name            =   "Verdana"
  159.          Size            =   9
  160.          Charset         =   0
  161.          Weight          =   400
  162.          Underline       =   0   'False
  163.          Italic          =   0   'False
  164.          Strikethrough   =   0   'False
  165.       EndProperty
  166.       Height          =   255
  167.       Left            =   120
  168.       TabIndex        =   9
  169.       Top             =   600
  170.       Width           =   1215
  171.    End
  172.    Begin VB.Label Label1 
  173.       Caption         =   "Search In"
  174.       BeginProperty Font 
  175.          Name            =   "Verdana"
  176.          Size            =   9
  177.          Charset         =   0
  178.          Weight          =   400
  179.          Underline       =   0   'False
  180.          Italic          =   0   'False
  181.          Strikethrough   =   0   'False
  182.       EndProperty
  183.       Height          =   255
  184.       Left            =   120
  185.       TabIndex        =   8
  186.       Top             =   120
  187.       Width           =   1095
  188.    End
  189. Attribute VB_Name = "FindForm"
  190. Attribute VB_GlobalNameSpace = False
  191. Attribute VB_Creatable = False
  192. Attribute VB_PredeclaredId = True
  193. Attribute VB_Exposed = False
  194. Option Explicit
  195. Dim DB As Database
  196. Private Sub cmbTables_Click()
  197. Dim fld As Field
  198.     cmbFields.Clear
  199.     For Each fld In DB.TableDefs(cmbTables.Text).Fields
  200.         cmbFields.AddItem fld.Name
  201.     Next
  202.     cmbFields.ListIndex = 0
  203.     Data1.RecordSource = cmbTables.Text
  204.     Data1.Refresh
  205. End Sub
  206. Private Sub Command1_Click()
  207. On Error GoTo SQLError
  208.     Data1.Recordset.FindFirst GenerateSQL()
  209.     If Data1.Recordset.NoMatch Then
  210.         MsgBox "No such record found"
  211.     End If
  212.     Exit Sub
  213. SQLError:
  214.     MsgBox Err.Description
  215. End Sub
  216. Private Sub Command2_Click()
  217. On Error GoTo SQLError
  218.     Data1.Recordset.FindPrevious GenerateSQL()
  219.     If Data1.Recordset.NoMatch Then
  220.         MsgBox "No such record found"
  221.     End If
  222.     Exit Sub
  223. SQLError:
  224.     MsgBox Err.Description
  225. End Sub
  226. Private Sub Command3_Click()
  227. On Error GoTo SQLError
  228.     Data1.Recordset.FindNext GenerateSQL()
  229.     If Data1.Recordset.NoMatch Then
  230.         MsgBox "No such record found"
  231.     End If
  232.     Exit Sub
  233. SQLError:
  234.     MsgBox Err.Description
  235. End Sub
  236. Private Sub Command4_Click()
  237. On Error GoTo SQLError
  238.     Data1.Recordset.FindLast GenerateSQL()
  239.     If Data1.Recordset.NoMatch Then
  240.         MsgBox "No such record found"
  241.     End If
  242.     Exit Sub
  243. SQLError:
  244.     MsgBox Err.Description
  245. End Sub
  246. Private Sub Form_Load()
  247. Set DB = OpenDatabase(Data1.DatabaseName)
  248.     Dim tbl As TableDef
  249.     cmbTables.Clear
  250.     cmbFields.Clear
  251.     For Each tbl In DB.TableDefs
  252.         If Left(tbl.Name, 4) <> "MSys" Then cmbTables.AddItem tbl.Name
  253.     Next
  254.     Dim fld As Field
  255.     For Each fld In DB.TableDefs(0).Fields
  256.         cmbFields.AddItem fld.Name
  257.     Next
  258.     cmbTables.ListIndex = 0
  259.     cmbFields.ListIndex = 0
  260. End Sub
  261. Private Function GenerateSQL() As String
  262.     GenerateSQL = cmbFields.Text & " " & txtSearchValue.Text
  263. End Function
  264.