home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / code / database / c_dbsuch / suchform.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-01-25  |  20.0 KB  |  648 lines

  1. VERSION 2.00
  2. Begin Form frm_Globale_Suchform 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Globale Suchform f
  6. r Datenbank-Tabellen"
  7.    ClientHeight    =   6495
  8.    ClientLeft      =   420
  9.    ClientTop       =   420
  10.    ClientWidth     =   8655
  11.    Height          =   6900
  12.    Left            =   360
  13.    LinkTopic       =   "Form4"
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   6495
  17.    ScaleWidth      =   8655
  18.    Top             =   75
  19.    Width           =   8775
  20.    Begin CommandButton cmd_Exit 
  21.       Caption         =   "Ende"
  22.       Height          =   435
  23.       Left            =   3600
  24.       TabIndex        =   17
  25.       Top             =   5820
  26.       Width           =   1455
  27.    End
  28.    Begin Grid gri_Datensatz 
  29.       Cols            =   1
  30.       FixedCols       =   0
  31.       FixedRows       =   0
  32.       Height          =   1455
  33.       Left            =   240
  34.       Rows            =   1
  35.       TabIndex        =   16
  36.       Top             =   4080
  37.       Width           =   8175
  38.    End
  39.    Begin CommandButton cmd_Suchen 
  40.       Caption         =   "letzter Datensatz"
  41.       Enabled         =   0   'False
  42.       Height          =   435
  43.       Index           =   3
  44.       Left            =   6480
  45.       TabIndex        =   15
  46.       Top             =   3420
  47.       Width           =   1935
  48.    End
  49.    Begin CommandButton cmd_Suchen 
  50.       Caption         =   "vorheriger Datensatz"
  51.       Enabled         =   0   'False
  52.       Height          =   435
  53.       Index           =   2
  54.       Left            =   4380
  55.       TabIndex        =   14
  56.       Top             =   3420
  57.       Width           =   1995
  58.    End
  59.    Begin CommandButton cmd_Suchen 
  60.       Caption         =   "n
  61. chster Datensatz"
  62.       Enabled         =   0   'False
  63.       Height          =   435
  64.       Index           =   1
  65.       Left            =   2340
  66.       TabIndex        =   13
  67.       Top             =   3420
  68.       Width           =   1935
  69.    End
  70.    Begin CommandButton cmd_Suchen 
  71.       Caption         =   "erster Datensatz"
  72.       Enabled         =   0   'False
  73.       Height          =   435
  74.       Index           =   0
  75.       Left            =   240
  76.       TabIndex        =   12
  77.       Top             =   3420
  78.       Width           =   1995
  79.    End
  80.    Begin TextBox txt_Bedingung 
  81.       Height          =   285
  82.       Left            =   5580
  83.       TabIndex        =   11
  84.       Top             =   2520
  85.       Width           =   2835
  86.    End
  87.    Begin ComboBox cmb_Tabelle 
  88.       BackColor       =   &H00FFFFFF&
  89.       Height          =   300
  90.       Left            =   4920
  91.       Style           =   2  'Dropdown List
  92.       TabIndex        =   3
  93.       Top             =   1620
  94.       Width           =   3495
  95.    End
  96.    Begin ComboBox cmb_Feld 
  97.       BackColor       =   &H00FFFFFF&
  98.       Height          =   300
  99.       Left            =   240
  100.       Style           =   2  'Dropdown List
  101.       TabIndex        =   20
  102.       Top             =   2520
  103.       Width           =   3135
  104.    End
  105.    Begin FileListBox fil_Datei 
  106.       BackColor       =   &H00FFFFFF&
  107.       Height          =   1005
  108.       Left            =   6600
  109.       Pattern         =   "*.MDB"
  110.       TabIndex        =   2
  111.       Top             =   240
  112.       Width           =   1815
  113.    End
  114.    Begin DirListBox dir_Verzeichnis 
  115.       BackColor       =   &H00FFFFFF&
  116.       Height          =   1155
  117.       Left            =   1500
  118.       TabIndex        =   1
  119.       Top             =   240
  120.       Width           =   4995
  121.    End
  122.    Begin DriveListBox drv_Laufwerk 
  123.       BackColor       =   &H00FFFFFF&
  124.       Height          =   315
  125.       Left            =   240
  126.       TabIndex        =   0
  127.       Top             =   240
  128.       Width           =   1155
  129.    End
  130.    Begin Label lab_Pr
  131. dikat 
  132.       Alignment       =   2  'Center
  133.       BackColor       =   &H00FFFFFF&
  134.       BorderStyle     =   1  'Fixed Single
  135.       Caption         =   "wie"
  136.       Height          =   255
  137.       Index           =   5
  138.       Left            =   4980
  139.       TabIndex        =   10
  140.       Top             =   2520
  141.       Width           =   495
  142.    End
  143.    Begin Label lab_ 
  144.       BackColor       =   &H00C0C0C0&
  145.       Caption         =   "Tabelle"
  146.       Height          =   195
  147.       Index           =   1
  148.       Left            =   4140
  149.       TabIndex        =   18
  150.       Top             =   1680
  151.       Width           =   675
  152.    End
  153.    Begin Label lab_ 
  154.       BackColor       =   &H00C0C0C0&
  155.       Caption         =   "Datenbankdatei"
  156.       Height          =   195
  157.       Index           =   0
  158.       Left            =   240
  159.       TabIndex        =   19
  160.       Top             =   1680
  161.       Width           =   1395
  162.    End
  163.    Begin Label lab_Pr
  164. dikat 
  165.       Alignment       =   2  'Center
  166.       BackColor       =   &H00FFFFFF&
  167.       BorderStyle     =   1  'Fixed Single
  168.       Caption         =   ">="
  169.       Height          =   255
  170.       Index           =   4
  171.       Left            =   4680
  172.       TabIndex        =   9
  173.       Top             =   2520
  174.       Width           =   315
  175.    End
  176.    Begin Label lab_Pr
  177. dikat 
  178.       Alignment       =   2  'Center
  179.       BackColor       =   &H00FFFFFF&
  180.       BorderStyle     =   1  'Fixed Single
  181.       Caption         =   ">"
  182.       Height          =   255
  183.       Index           =   3
  184.       Left            =   4380
  185.       TabIndex        =   8
  186.       Top             =   2520
  187.       Width           =   315
  188.    End
  189.    Begin Label lab_Pr
  190. dikat 
  191.       Alignment       =   2  'Center
  192.       BackColor       =   &H00FFFFFF&
  193.       BorderStyle     =   1  'Fixed Single
  194.       Caption         =   "<="
  195.       Height          =   255
  196.       Index           =   2
  197.       Left            =   4080
  198.       TabIndex        =   7
  199.       Top             =   2520
  200.       Width           =   315
  201.    End
  202.    Begin Label lab_Pr
  203. dikat 
  204.       Alignment       =   2  'Center
  205.       BackColor       =   &H00FFFFFF&
  206.       BorderStyle     =   1  'Fixed Single
  207.       Caption         =   "<"
  208.       Height          =   255
  209.       Index           =   1
  210.       Left            =   3780
  211.       TabIndex        =   6
  212.       Top             =   2520
  213.       Width           =   315
  214.    End
  215.    Begin Label lab_Pr
  216. dikat 
  217.       Alignment       =   2  'Center
  218.       BackColor       =   &H00FFFFFF&
  219.       BorderStyle     =   1  'Fixed Single
  220.       Caption         =   "="
  221.       Height          =   255
  222.       Index           =   0
  223.       Left            =   3480
  224.       TabIndex        =   5
  225.       Top             =   2520
  226.       Width           =   315
  227.    End
  228.    Begin Label lab_Datei 
  229.       Alignment       =   2  'Center
  230.       BackColor       =   &H0080FFFF&
  231.       BorderStyle     =   1  'Fixed Single
  232.       Height          =   255
  233.       Left            =   1740
  234.       TabIndex        =   4
  235.       Top             =   1620
  236.       Width           =   2295
  237.    End
  238. '============================================================
  239. ' Formdatei   : SUCHFORM.FRM
  240. ' Formname    : frm_Globale_Suchform
  241. ' Aufgabe     : Globale Suchform (Suchen in Datenbank-Tabellen)
  242. ' Copyright   : Arthur Burda
  243. ' Compiler    : Visual Basic 3.0 f
  244. r Windows
  245. ' erstellt am : 26.01.1995
  246. '============================================================
  247. Option Explicit
  248. Dim DB As Database
  249. Dim Snap As snapshot
  250. Dim Pr
  251. dikat As String ' Vergleichspr
  252. dikat
  253. '============================================================
  254. ' Routine : cmb_Feld_Click
  255. '============================================================
  256. ' Aufgabe : Combo-Box mit Tabellen-Felddefinition wurde an-
  257. '           geklickt; Fokus auf Feld f
  258. r die Eingabe der Such-
  259. '           bedingung setzen
  260. ' Eingabe : keine
  261. ' Ausgabe : keine
  262. '------------------------------------------------------------
  263. Sub cmb_Feld_Click ()
  264.     txt_Bedingung.SetFocus
  265. End Sub
  266. '============================================================
  267. ' Routine : cmb_Tabelle_Click
  268. '============================================================
  269. ' Aufgabe : Combo-Box mit Datenbank-Tabellen wurde angeklickt;
  270. '           Combo-Box mit Tabellen-Felddefinition aktualisieren
  271. '           und Datensatz-Tabelle einrichten
  272. ' Eingabe : keine
  273. ' Ausgabe : keine
  274. '------------------------------------------------------------
  275. Sub cmb_Tabelle_Click ()
  276.     ' Feld-Datentypen
  277.     Const DB_BOOLEAN = 1
  278.     Const DB_BYTE = 2
  279.     Const DB_INTEGER = 3
  280.     Const DB_LONG = 4
  281.     Const DB_CURRENCY = 5
  282.     Const DB_SINGLE = 6
  283.     Const DB_DOUBLE = 7
  284.     Const DB_DATE = 8
  285.     Const DB_TEXT = 10
  286.     Const DB_LONGBINARY = 11
  287.     Const DB_MEMO = 12
  288.     Dim i
  289.     Dim List_Count
  290.     Dim Table_Name
  291.     Dim Field_Count
  292.     ' alle Eintr
  293. ge aus der Combo-Box mit Tabellen-Felddefinition l
  294. schen
  295.     If cmb_Feld.ListCount > 0 Then
  296.         List_Count = cmb_Feld.ListCount
  297.         For i = 1 To List_Count
  298.             cmb_Feld.RemoveItem 0
  299.         Next i
  300.     End If
  301.     ' Combo-Box (Tabellen-Felddefinition) mit neuen Eintr
  302. gen f
  303.     Table_Name = DB.TableDefs(cmb_Tabelle.List(cmb_Tabelle.ListIndex)).Name
  304.     If DB.TableDefs(Table_Name).Fields.Count > 0 Then
  305.         For i = 1 To DB.TableDefs(Table_Name).Fields.Count
  306.             cmb_Feld.AddItem DB.TableDefs(Table_Name).Fields(i - 1).Name
  307.         Next i
  308.         cmb_Feld.ListIndex = 0
  309.     End If
  310.     ' Datensatz-Tabelle einrichten
  311.     Field_Count = DB.TableDefs(Table_Name).Fields.Count
  312.     gri_Datensatz.Cols = Field_Count + 1
  313.     gri_Datensatz.Rows = 2
  314.     gri_Datensatz.FixedCols = 1
  315.     gri_Datensatz.FixedRows = 1
  316.     gri_Datensatz.Row = 0
  317.     For i = 1 To Field_Count
  318.         gri_Datensatz.Col = i
  319.         gri_Datensatz.ColWidth(i) = Len(DB.TableDefs(Table_Name).Fields(i - 1).Name) * 120
  320.         Select Case DB.TableDefs(Table_Name).Fields(i - 1).Type
  321.             Case DB_TEXT ' Textfeld
  322.                 If gri_Datensatz.ColWidth(i) < DB.TableDefs(Table_Name).Fields(i - 1).Size * 120 Then
  323.                     gri_Datensatz.ColWidth(i) = DB.TableDefs(Table_Name).Fields(i - 1).Size * 120
  324.                 End If
  325.             Case Else ' alle anderen Felder
  326.                 If gri_Datensatz.ColWidth(i) < 2000 Then
  327.                     gri_Datensatz.ColWidth(i) = 2000
  328.                 End If
  329.         End Select
  330.         gri_Datensatz.Text = DB.TableDefs(Table_Name).Fields(i - 1).Name
  331.     Next i
  332.     gri_Datensatz.Row = 1
  333.     For i = 1 To Field_Count
  334.         gri_Datensatz.Col = i
  335.         gri_Datensatz.Text = ""
  336.     Next i
  337.     ' Snapshot-Objekt schlie
  338.     If Not Snap Is Nothing Then
  339.         Snap.Close
  340.     End If
  341.     ' Snapshot neu generieren (andere Tabelle)
  342.     Set Snap = DB.CreateSnapshot(Table_Name)
  343. End Sub
  344. '============================================================
  345. ' Routine : cmd_Exit_Click
  346. '============================================================
  347. ' Aufgabe : Programm beenden
  348. ' Eingabe : keine
  349. ' Ausgabe : keine
  350. '------------------------------------------------------------
  351. Sub cmd_Exit_Click ()
  352.     End
  353. End Sub
  354. '============================================================
  355. ' Routine : cmb_Suchen_Click
  356. '============================================================
  357. ' Aufgabe : Schalter zum Suchen in der Datenbank-Tabelle nach
  358. '           vorgegebenem Kriterium angeklickt; Suchaktion star-
  359. '           ten
  360. ' Eingabe : Index = Index des angeklickten Schalters
  361. ' Ausgabe : keine
  362. '------------------------------------------------------------
  363. Sub cmd_Suchen_Click (Index As Integer)
  364.     Dim Table_Name
  365.     Dim Field_Name
  366.     Dim Field_Count
  367.     Dim Statement
  368.     Dim i
  369.     Dim Fehler_
  370.     On Error GoTo ERR_cmd_Suchen_Click
  371.     Table_Name = DB.TableDefs(cmb_Tabelle.List(cmb_Tabelle.ListIndex)).Name
  372.     Field_Name = DB.TableDefs(Table_Name).Fields(cmb_Feld.List(cmb_Feld.ListIndex)).Name
  373.     Field_Count = DB.TableDefs(Table_Name).Fields.Count
  374.     Statement = "[" & Field_Name & "] " & Pr
  375. dikat & " " & txt_Bedingung.Text
  376.     ' Datensatz suchen
  377.     If Not Snap Is Nothing Then
  378.         Select Case Index
  379.             Case 0 ' erster Datensatz
  380.                 Snap.FindFirst Statement
  381.             Case 1 ' n
  382. chster Datensatz
  383.                 Snap.FindNext Statement
  384.             Case 2 ' vorheriger Datensatz
  385.                 Snap.FindPrevious Statement
  386.             Case 3 ' letzter Datensatz
  387.                 Snap.FindLast Statement
  388.         End Select
  389.         If Fehler_ = 0 Then
  390.             If Snap.NoMatch Then
  391.                 Beep
  392.                 MsgBox "Kein Datensatz gefunden, der dem eingegebenen Suchkriterium entsprechen w
  393. rde."
  394.             Else ' Datensatz gefunden, anzeigen
  395.                 gri_Datensatz.Cols = Field_Count + 1
  396.                 gri_Datensatz.Rows = 2
  397.                 gri_Datensatz.Row = 1
  398.                 On Error Resume Next
  399.                 For i = 1 To Field_Count
  400.                     gri_Datensatz.Col = i
  401.                     gri_Datensatz.Text = Snap(i - 1)
  402.                 Next i
  403.                 On Error GoTo ERR_cmd_Suchen_Click
  404.             End If
  405.         End If
  406.     End If
  407.     txt_Bedingung.SetFocus
  408. EXIT_cmd_Suchen_Click:
  409.     Exit Sub
  410. ERR_cmd_Suchen_Click:
  411.     Fehler_ = Err
  412.     Beep
  413.     MsgBox "Fehler Nr. " & Str$(Fehler_) & " aufgetreten. Bitte korrigieren Sie die Suchbedingung."
  414.     txt_Bedingung.SetFocus
  415.     Resume Next
  416. End Sub
  417. '============================================================
  418. ' Routine : dir_Verzeichnis_Change
  419. '============================================================
  420. ' Aufgabe : Pfad hat sich ge
  421. ndert; Datei-Auswahlbox aktuali-
  422. '           sieren
  423. ' Eingabe : keine
  424. ' Ausgabe : keine
  425. '------------------------------------------------------------
  426. Sub dir_Verzeichnis_Change ()
  427.     fil_Datei.Path = dir_Verzeichnis.Path
  428. End Sub
  429. '============================================================
  430. ' Routine : drv_Laufwerk_Change
  431. '============================================================
  432. ' Aufgabe : Laufwerk hat sich ge
  433. ndert; Verzeichnis-Auswahl-
  434. '           box aktualisieren
  435. ' Eingabe : keine
  436. ' Ausgabe : keine
  437. '------------------------------------------------------------
  438. Sub drv_Laufwerk_Change ()
  439.     dir_Verzeichnis.Path = drv_Laufwerk.Drive
  440. End Sub
  441. '============================================================
  442. ' Routine : fil_Datei_Click
  443. '============================================================
  444. ' Aufgabe : Datei-Eintrag wurde angeklickt; zuerst Controls
  445. '           zur
  446. cksetzen und deaktivieren, dann Datenbankdatei
  447. '           
  448. ffnen und Controls aktualisieren
  449. ' Eingabe : keine
  450. ' Ausgabe : keine
  451. '------------------------------------------------------------
  452. Sub fil_Datei_Click ()
  453.     ' Tabellendefinition-Attribute
  454.     Const DB_ATTACHEXCLUSIVE = &H10000
  455.     Const DB_ATTACHSAVEPWD = &H20000
  456.     Const DB_SYSTEMOBJECT = &H80000002
  457.     Const DB_ATTACHEDTABLE = &H40000000
  458.     Const DB_ATTACHEDODBC = &H20000000
  459.     Dim i
  460.     Dim List_Count
  461.     ' Pfad wechseln
  462.     ChDir fil_Datei.Path
  463.     ' alle Eintr
  464. ge aus allen Combo-Boxen l
  465. schen
  466.     If cmb_Tabelle.ListCount > 0 Then
  467.         List_Count = cmb_Tabelle.ListCount
  468.         For i = 1 To List_Count
  469.             cmb_Tabelle.RemoveItem 0
  470.         Next i
  471.     End If
  472.     If cmb_Feld.ListCount > 0 Then
  473.         List_Count = cmb_Feld.ListCount
  474.         For i = 1 To List_Count
  475.             cmb_Feld.RemoveItem 0
  476.         Next i
  477.     End If
  478.     ' Controls zur
  479. cksetzen und deaktivieren
  480.     Pr
  481. dikat = ""
  482.     For i = 0 To 5
  483.         lab_Pr
  484. dikat(i).BackColor = RGB(255, 255, 255)
  485.     Next i
  486.     txt_Bedingung.Text = ""
  487.     For i = 0 To 3
  488.         cmd_Suchen(i).Enabled = False
  489.     Next i
  490.     gri_Datensatz.FixedCols = 0
  491.     gri_Datensatz.FixedRows = 0
  492.     gri_Datensatz.Cols = 1
  493.     gri_Datensatz.Rows = 1
  494.     gri_Datensatz.Row = 0
  495.     gri_Datensatz.Col = 0
  496.     gri_Datensatz.Text = ""
  497.     ' ge
  498. ffnete Datenbank und Snapshot-Objekt schlie
  499.     If Not Snap Is Nothing Then
  500.         Snap.Close
  501.     End If
  502.     If Not DB Is Nothing Then
  503.         DB.Close
  504.     End If
  505.     lab_Datei.Caption = ""
  506.     Set DB = Nothing
  507.     Set Snap = Nothing
  508.     ' Datenbankdatei 
  509. ffnen
  510.     Set DB = OpenDatabase(fil_Datei.FileName)
  511.     ' wenn kein Fehler, dann Controls aktualisieren
  512.     If Err = 0 Then
  513.         lab_Datei.Caption = UCase$(fil_Datei.FileName)
  514.         If DB.TableDefs.Count > 0 Then
  515.             For i = 1 To DB.TableDefs.Count
  516.                 If (DB.TableDefs(i - 1).Attributes And DB_SYSTEMOBJECT) = 0 Then
  517.                     cmb_Tabelle.AddItem DB.TableDefs(i - 1).Name
  518.                 End If
  519.             Next i
  520.             cmb_Tabelle.ListIndex = 0
  521.         End If
  522.         Pr
  523. dikat = "Like"
  524.         lab_Pr
  525. dikat(5).BackColor = RGB(0, 255, 0)
  526.         txt_Bedingung.Text = "'*'"
  527.     End If
  528. End Sub
  529. '============================================================
  530. ' Routine : Form_Load
  531. '============================================================
  532. ' Aufgabe : Wird aufgerufen, wenn die Form geladen wird.
  533. ' Eingabe : keine
  534. ' Ausgabe : keine
  535. '------------------------------------------------------------
  536. Sub Form_Load ()
  537.     ChDir App.Path
  538.     Zentriere_Form
  539.     Me.Show
  540.     lab_Datei.Caption = ""
  541.     Set DB = Nothing
  542.     Set Snap = Nothing
  543.     dir_Verzeichnis.Path = App.Path
  544.     ' Datenbankdatei CITIES.MDB 
  545. ffnen
  546.     fil_Datei.SetFocus
  547.     If UCase$(fil_Datei.List(0)) = "CITIES.MDB" Then
  548.         fil_Datei.Selected(0) = True
  549.     End If
  550. End Sub
  551. '============================================================
  552. ' Routine : Form_Unload
  553. '============================================================
  554. ' Aufgabe : Wird aufgerufen, wenn die Form aus dem Speicher
  555. '           entfernt wird, also wenn das Programm beendet wird.
  556. ' Eingabe : Cancel = True, wenn Abbruch, sonst False
  557. ' Ausgabe : keine
  558. '------------------------------------------------------------
  559. Sub Form_Unload (Cancel As Integer)
  560.     If Not Cancel Then
  561.         ' ge
  562. ffnete Datenbank und Snapshot schlie
  563.         If Not Snap Is Nothing Then
  564.             Snap.Close
  565.         End If
  566.         If Not DB Is Nothing Then
  567.             DB.Close
  568.         End If
  569.     End If
  570. End Sub
  571. '============================================================
  572. ' Routine : lab_Pr
  573. dikat_Click
  574. '============================================================
  575. ' Aufgabe : Vergleichspr
  576. dikat-Control wurde angeklickt; Ver-
  577. '           gleichspr
  578. dikat setzen
  579. ' Eingabe : Index = Index des angeklickten Labels
  580. ' Ausgabe : keine
  581. '------------------------------------------------------------
  582. Sub lab_Pr
  583. dikat_Click (Index As Integer)
  584.     Dim i
  585.     For i = 0 To 5
  586.         lab_Pr
  587. dikat(i).BackColor = RGB(255, 255, 255)
  588.     Next i
  589.     Select Case Index
  590.         Case 0
  591.             Pr
  592. dikat = "="
  593.         Case 1
  594.             Pr
  595. dikat = "<"
  596.         Case 2
  597.             Pr
  598. dikat = "<="
  599.         Case 3
  600.             Pr
  601. dikat = ">"
  602.         Case 4
  603.             Pr
  604. dikat = ">="
  605.         Case 5
  606.             Pr
  607. dikat = "Like"
  608.     End Select
  609.     lab_Pr
  610. dikat(Index).BackColor = RGB(0, 255, 0)
  611.     txt_Bedingung.SetFocus
  612. End Sub
  613. '============================================================
  614. ' Routine : txt_Bedingung_Change
  615. '============================================================
  616. ' Aufgabe : Die Suchbedingung in einem der vier Eingabefelder
  617. '           hat sich ge
  618. ndert; Suchschalter in Abh
  619. ngigkeit
  620. '           von der Eingabe der Suchbedingung aktivieren bzw.
  621. '           deaktivieren
  622. ' Eingabe : keine
  623. ' Ausgabe : keine
  624. '------------------------------------------------------------
  625. Sub txt_Bedingung_Change ()
  626.     Dim i
  627.     If txt_Bedingung.Text <> "" Then
  628.         For i = 0 To 3
  629.             cmd_Suchen(i).Enabled = True
  630.         Next i
  631.     Else
  632.         For i = 0 To 3
  633.             cmd_Suchen(i).Enabled = False
  634.         Next i
  635.     End If
  636. End Sub
  637. '============================================================
  638. ' Routine : Zentriere_Form
  639. '============================================================
  640. ' Aufgabe : Zentriert die Form.
  641. ' Eingabe : keine
  642. ' Ausgabe : keine
  643. '------------------------------------------------------------
  644. Sub Zentriere_Form ()
  645.     Me.Top = Screen.Height / 2 - Me.Height / 2
  646.     Me.Left = Screen.Width / 2 - Me.Width / 2
  647. End Sub
  648.