Es gibt zwei Elemente, über die man von VBA aus mit Bordmitteln mit dem Benutzer interagieren kann. Die MsgBox-Anweisung liefert ein Meldungsfenster, das man mit verschiedenen Texten, Icons und Schaltflächen ausstatten kann. Die InputBox-Anweisung bietet ein Eingabefenster für einfache Texte an, der auch vorgeben werden kann. Während die InputBox eigentlich recht einfach zu programmieren ist, gibt es dennoch einen Trick, auf den wir in diesem Beitrag eingehen werden. Zusätzlich liefern wir alle Infos, damit Sie die InputBox in Ihren Access-Anwendungen effizient einsetzen können und dem Benutzer die Eingabe notwendiger Daten möglichst einfach gestalten.
In Microsoft Access nutzt man eigentlich für jeglichen Austausch von Informationen mit dem Benutzer Formulare. Diese kann man flexibel mit allen notwendigen Steuerelementen ausstatten. Mit der MsgBox– und der InputBox-Funktion gibt es jedoch zwei Tools, mit denen wir in einigen Fällen um die Programmierung eines Formulars herumkommen können. In diesem Beitrag liegt unser Hauptaugenmerk auf der InputBox-Funktion.
Diese lässt sich eigentlich sehr einfach programmieren. Sie besteht aus dem Befehl InputBox sowie einige Parametern, mit denen wir das Aussehen und das Verhalten der InputBox festlegen können. Die Parameter lauten:
- Prompt: Meldung, die in der InputBox angezeigt werden soll
- Title: Text in der Titelleiste der InputBox (optional)
- Default: Standardwert, der im Textfeld der InputBox angezeigt wird (optional)
- XPos: Abstand der InputBox vom linken Rand des Bildschirms in Twips (optional)
- YPos: Abstand der InputBox vom oberen Rand des Bildschirms in Twips (optional)
- Helpfile und Context: Informationen zur Verwendung einer Hilfedatei, auf die wir hier nicht eingehen werden (optional)
Die einfachste Form einer InputBox erwartet lediglich die Angabe der anzuzeigenden Meldung (siehe Bild 1).
Bild 1: Beispiel für eine einfache InputBox
Jegliche Eingabe landet jedoch im Nirwana, da wir keine Variable verwenden, der wir das Ergebnis der InputBox zuweisen.
Ergebnis der InputBox auswerten
Wenn wir das Ergebnis der Funktion InputBox auswerten wollen, müssen wir diese wie eine normale Funktion nutzen und das Ergebnis beispielsweise in eine Variable schreiben. Das sieht wie folgt aus:
Dim strInputBox As String strInputBox = InputBox("Dies ist eine InputBox.") Debug.Print strInputBox
Hier öffnen wir die InputBox und wenn der Benutzer auf die OK-Schaltfläche klickt, landet der eingegebene Text in der Variable strInputBox.
Diesen geben wir anschließend im Direktbereich aus.
Titel und Standardwert nutzen
Mit dem zweiten und dritten Parameter werden der Titel und der Standardwert übergeben:
strInputBox = InputBox("Dies ist eine InputBox.", "Titel der InputBox", "Defaultwert der InputBox")
Wir erhalten dann die InputBox aus Bild 2. Klicken wir nun auf OK, gibt die InputBox-Funktion den aktuell angezeigten Wert zurück – oder den, den der Benutzer stattdessen eingetragen hat.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo