Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2018.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Autotab bei der Eingabe

Sie kennen das von den Dialogen zur Eingabe von Registrierungsschlüsseln: Sie geben den ersten Fünferpack des Schlüssels ein und der Fokus springt dann automatisch zum folgenden Feld, wo Sie den nächsten Fünferpack eingeben können. Dieses Verhalten wollen wir einmal nachbilden. Dieser Beitrag zeigt, wie das durch den geschickten Einsatz von Ereignisprozeduren leicht gelingt.

Formular erstellen

Als Erstes erstellen wir ein Formular namens frmKeys, dem wir die fünf Textfelder txtKey1, txtKey2, txtKey3, txtKey4 und txtKey5 hinzufügen. Dazwischen platzieren wir jeweils ein Minuszeichen (s. Bild 1).

Das Formular frmKeys in der Entwurfsansicht

Bild 1: Das Formular frmKeys in der Entwurfsansicht

Vorgaben

Was geschieht nun? Optimalerweise gibt der Benutzer nacheinander die 25 Zeichen des Keys ein. Dabei wollen wir dafür sorgen, dass immer nach Eingabe von fünf Zeichen ein automatischer Sprung zum nächsten Textfeld erfolgt. Das erledigen wir etwa für das erste Textfeld mit der Prozedur, die durch das Ereignis Bei Taste auf ausgelöst wird und die wir wie folgt füllen:

Private Sub txtKey1_KeyUp(KeyCode As Integer, _
         Shift As Integer)
     If Len(Me!txtKey1.Text) = 5 And _
             Me!txtKey1.SelStart = 5 Then
         Me!txtKey2.SetFocus
     End If
End Sub

Wenn Sie nun fünf Zeichen in das erste Textfeld eingeben, landet die Einfügemarke wie in Bild 2 im zweiten Textfeld. Die If...Then-Bedingung in der Prozedur prüft, ob die Anzahl der Zeichen im Textfeld txtKey1 dem Wert 5 entspricht und ob sich die Einfügemarke an der letzten Position befindet. In diesem Fall wird der Fokus auf das zweite Textfeld txtKey2 verschoben.

Verschieben des Fokus in Aktion

Bild 2: Verschieben des Fokus in Aktion

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

Bitte teilen Sie uns Ihre Anrede, Ihren Namen und Ihre E-Mail-Adresse mit:

Anrede:
Vorname:
Nachname:
E-Mail:

© 2003-2018 André Minhorst Alle Rechte vorbehalten.