Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Access: Clevere Endlosformulare

Textfeld und BeimKlicken-Ereignis

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Ein BeimKlicken-Ereignis übernimmt den Aufruf der VBA-Prozedur, um das passende Datum einzutragen oder zu löschen. Lassen Sie sich in diesem Video erklären, wie Sie das ganz einfach umsetzen können.

Transkript

Wenn ich das mal so respektlos formulieren darf, das Formular oder sagen wir dieser Bereich hier sieht gut aus, kann aber nix. Die eigentliche Idee ist ja, dass sich das wie eine Schaltfläche verhalten soll und Sie sehen, es verhält sich ganz deutlich wie ein Textfeld, genau das ist es ja auch. Das ist also nur der halbe Erfolg, reine Optik zählt noch nicht. Ich muss das jetzt auch anklickbar machen. Das geht auch für Textfelder. Im Entwurf muss ich jetzt dieses Textfeld mit dem Ereignis beim Klicken verbinden. Ich kann hier einfach einen Doppelklick machen, dann steht hier schon "Ereignisprozedur". Es geht also nach VBA und dann kann ich mit den drei Pünktchen jetzt hier in den VBA-Editor wechseln. Dort rücke ich mit der Tab-Taste ein, und das Einfachste, was ich jetzt schreiben könnte, wäre "me.positDatumBedruckt", kann ich mit der Tab-Taste auswählen, ".value=now()", dann habe ich Datum und Uhrzeit drin. Das würde tatsächlich funktionieren, ich werde das einmal speichern, und mit Alt+F11 wieder zurückwechseln, das Formular ausführen, jetzt habe ich hier einen, der "Bedrucken" heißt, ich klicke rein und es wird tatsächlich was reingeschrieben, das ist jetzt nur ein Platzproblem, das können wir gleich noch kürzen. Es verändert sich durch die bedingte Formatierung auch sofort der Inhalt, aber Sie sehen schon, hier ist jetzt ganz merkwürdig, das, was ich da als Text drinstehen habe, markiert. Ich kann jetzt in ein anderes Objekt reinklicken, sagen wir hier, dann sieht das leidlich gut aus, wenn ich es gespeichert habe, ist das so weit auch in Ordnung. Aber, das, was ich jetzt hier auslöse, fühlt sich ganz merkwürdig an für den Benutzer und das Zweite ist, wenn ich jetzt auf einen bereits "bedruckten" klicke, vielleicht habe ich mich nämlich vertan, möchte ich gerne, dass das wieder zurückgesetzt wird und Sie sehen zwar, es gibt den Versuch da was reinzuschreiben, nämlich eine neue Uhrzeit, aber mehr passiert nicht. Da muss ich also noch einiges verbessern. Ich werde hier mal wieder in den Entwurf wechseln, obwohl das faktisch nicht nötig ist, wenn ich mit Alt+F11 rüberwechsle. Ich will also zuerst nicht "now", das ist einfach Platz verbrauchend, sondern nur "date" reinschreiben. Das ist eigentlich eine "function", aber Sie sehen, wenn ich die Zeile verlasse, dann sieht das aus wie ein Datentyp, aber es gibt trotzdem das Datum zurück. Das ist die erste Verbesserung, ich schreibe nur das Datum rein. Als zweites, ich möchte prüfen, ob das mit "null" vielleicht schon gefüllt ist oder nicht. Und da das mehrmals auf dieses Feld zugreift, werde ich jetzt diese "with"-Struktur machen, also das sozusagen erstmal einfach umbauen. Mit diesem Element schreibe ich das rein, aber ich prüfe vorher, ob es denn vielleicht schon drin stand. Wenn "isnull", im VBA heißt das "istnull" im Deutschen, einfach englisch "isnull". Wenn das für diesen "value" "null" ist, dann darf ich das "date" reinschreiben, aber natürlich hier nur mit Komma, wir sind im englischen VBA, andernfalls schreibe ich da ein "null" rein. Das meint nichts anderes, als das abwechselnd zwischen "date" und "null" gewechselt wird. Das sieht noch nicht hübscher aus, aber es ist wenigstens funktionsfähig in dem Sinne, mit Alt+F11 wieder rüber und Sie merken, wenn ich jetzt reinklicke, da wechselt er zurück auf den "Bedrucken"-Zustand, weil ich es leer gemacht habe. Der nächste Klick sorgt dafür, dass er es wieder reinschreibt. Es ist also ein schöner Umschalter, der verhält sich so, wie ich mir das vorstelle. Nur diese Markierung ist furchtbar, immer noch. Die kriegen Sie am leichtesten weg, wenn Sie zum Beispiel anschließend den Cursor hier reinsetzen. Dann ist auch, wenn man hier geklickt hat, sofort der Cursor wieder da, und es fühlt sich wie eine Schaltfläche an. Also hier im Entwurf, mit Alt+F11 rüber und das Einzige, was ich jetzt machen muss, ist für "positDatumBedruckt", denn da geht es ja schon um dieses Datumsfeld, ein "setFocus"zu schreiben. "SetFocus" ist nichts anders, als einen Cursor reinzusetzen. Mit Alt+F11 im fertigen Formular testen. Ich kann drauf klicken, der Cursor wandert direkt dahin. Noch mal drauf klicken, und kann hier für jedes beliebige Element Werte setzen oder wieder aufheben, es sei denn, ich will das nicht zulassen, aber das ist, wie Sie sehen, sehr einfach. Zur Not kann man noch eine extra Abfrage mit einer Message-Box einbauen, die sagt: "Wollen Sie das wirklich wieder aufheben?" Aber gerade, wenn man an so einer Maschine steht und mal eben auf dem Touchscreen hier eine Schaltfläche anklickt, kann es schon mal passieren, dass man daneben greift und das sofort korrigieren möchte. So weit ist die Aufgabe schon mal erfüllt. Ich habe etwas, was, ich sage mal, sehr ähnlich wie eine Schaltfläche aussieht, auch wenn es faktisch keine ist und unterschiedliche Zustände haben kann und alles ist mit Bordmitteln von Access gemacht. Trotzdem gibt noch was zu verbessern, aber eigentlich ist die Aufgabe schon gelöst.

Access: Clevere Endlosformulare

Entwerfen Sie Endlosformulare in Access, bei denen die Schaltflächen je nach Inhalt des Datensatzes unterschiedlich sind.

1 Std. 3 min (13 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!