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.

Eine Datenbank mit Access 2013 richtig entwickeln

Steuerungsformular automatisch starten

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Das Steuerungsformular wird beim Öffnen der Datenbank automatisch geöffnet und darin die notwendigen Aktionen gestartet.

Transkript

Vermutlich sind Sie jetzt mit diesem Steuerungsformular zufrieden. Ich auch, aber Ihre Benutzer nicht. Das heißt, sie wären gerne zufrieden, aber wie Sie sehen, gibt es da einen kleinen Mangel. Den merken Sie allerdings erst, wenn Sie diese Datenbank schließen. Und meinetwegen sofort wieder öffnen. Und wie Sie sehen, sehen Sie nichts. Nämlich kein Steuerungsformular. Die Benutzer wären gerne zufrieden, aber womit denn eigentlich. Es ist natürlich nichts, in der Sache jetzt zu Fuß dieses Steuerungsformular zu starten, zu öffnen, wie Sie das als Entwickler machen, sondern das muss automatisiert erfolgen. Die einzige Chance, um in einer Access-Datenbank beim Start etwas automatisiert auszuführen, ist ein AutoExec-Makro. Das heißt, Sie gehen auf ERSTELLEN, auf Makro, und landen hier in dem Entwurf eines noch unbenannten Makros. Das wird eine einzige Sache machen, nämlich AusführenCode. Und der Funktionsname, den können Sie hier nicht auswählen, aber sie können ihn schon mal behaupten, heißt "StarteDB()" Und, was da vielleicht gar nicht so aufgefallen ist, aber ich sage das nochmal ganz deutlich, der Funktionsname... Wir werden also gleich eine Funktion, eine function schreiben müssen, was eigentlich widersinnig ist, denn deren Rückgabewert würde sowieso nicht ausgewertet. Im Grunde wäre eine Prozedur, eine Sub-Prozedur viel sinnvoller, aber mit AusführenCode sind ausschließlich functions ausführbar. Damit muss ich also leben. Ich kann mir den Namen schon mal in die Zwischenablage legen. Aber vor allem muss ich dieses Makro speichern und zwar unter dem reservierten Namen "AutoExec". Groß-/Kleinschreibung ist egal, aber diese Bezeichnung ist zwingend. Von "AutoExecute" die Kurzfassung. Nach dem OK können Sie das schließen, testen geht ja noch nicht und mit Alt + F11 irgendwo, zum Beispiel bei "AllgemeineFunktionen", - ich mache die mal ganz nach oben hin - eine function erfinden, - Strg + "V", aus der Zwischenablage abgeholt - die einen völlig beliebigen Rückgabewert hat. Das Ganze als Variant schreiben, Hauptsache es ist eine function, und die wird jetzt beim Start ausgeführt. Natürlich hätte ich den Code auch in AutoExec selber schreiben können, aber manches von dem geht nicht, oder nicht so gut, in einem Makro deswegen verlagere ich es direkt. Das AutoExec-Makro ruft eine function in VBA auf und da kann ich dann machen, was ich will. Und was ich da machen will, ist im Grunde erst einmal ganz banal. Ich will das Formular öffnen. Also ein "do"-Command "OpenForm", und dann nenne ich den Namen "frmSteuerung". Auch hier ist Groß- und Kleinschreibung egal, aber ich mache es der Form halber gleich. Und das würde es eigentlich schon tun. Bevor ich das Formular öffne, schalte ich schon mal unauffällig alles auf "Maximize". Das heißt, falls sich jemand das auf Fensterdarstellung umgeschaltet hat, ist das auch im Vollbild. Damit ist eigentlich die Arbeit fertig. Wir können das testen, das heißt erstens hier speichern, und zweitens die Datenbank schließen und wieder neu öffnen. Und wie Sie sehen, das Formular ist automatisch erschienen. Sie können es auch an eine bestimmte Stelle positionieren, wenn Sie sich noch ein bisschen was gönnen wollen. Also mit Alt + F11 wieder in den Code. Es ist bei den allgemeinen Funktionen. Dann können Sie hier zum Beispiel noch ein "DoCommand.MoveSize" hinterherschicken. Achtung: Nachdem das Formular geöffnet ist! Sonst würde "MoveSize" nämlich ohne Formular versuchen, dessen Größe zu ändern. Da muss man jetzt schlicht rumprobieren. Die Einheit, in der hier gerechnet wird ist nicht in Zentimeter, sondern in einer Long-Zahl Twips also 15500, sei die - "Right" ist übrigens falsch - die "left position" müsste da stehen. Die Variable ist schlicht falsch benannt, es wird von links gezählt. Und "Down", also von oben nach unten. Sagen wir mal 6800. Das ist abhängig von Ihrem Bildschirm. Das können Sie aber beliebig oft ausführen, also wenn Sie das testen wollen, müssen Sie nicht mal die Datenbank schließen. Und das kann man direkt hier machen. Also mit Alt + F11 einmal reinklicken, F5 drücken, und mit Alt + F11 gucken, wo es gelandet ist. Das ist hier die Position 15500 und 6800. Also in der Horizontalen ist noch ein bisschen Luft drin. Dann können wir das vielleicht auf 15700 erweitern, direkt mit F5 ausführen, nachgucken, und dann kann man sich jetzt so ein bisschen ran hangeln. Leider muss man dazu sagen, ist es bildschirmabhängig. Wenn Sie also einen Laptop haben und das ausführen, würde sich dieses Formular außerhalb des Bildschirms befinden. Das ist natürlich völlig undenkbar, nur ich muss ehrlich dazu sagen, selbstverständlich können Sie die Bildschirmbreite und -höhe auch in ungerechneten Twips abfragen. Aber das geht nur mit einer sogenannten API-Funktion, Application Programming Interface, als der Zugriff auf Windows-Interna. Und da führt jetzt doch ein bisschen zu weit. Da haben Sie locker mal 20, 25 Zeilen noch zu programmieren, Das möchte ich nur an der Stelle kurz anreissen. Es ist möglich, mit "MoveSize" das irgendwo hinzuschieben. Wenn Sie es nach links oben schieben, ist es einfach 0,0, oder sagen wir eher 100 auf 100, damit es nicht ganz so in der Ecke klebt. Wenn Sie es nach rechts unten schieben wollen, ist es schon mühsamer. Aber es gibt jetzt eine Startprozedur, die dafür sorgt, dass das Formular geöffnet wird. Bei der Gelegenheit werden auch dessen Interna gestartet. Ich kann jetzt also das Direktfenster öffnen, entweder über AnsichtDirektfenster oder wie ich es eben gemacht habe, mit Strg + "G", und frage einfach mal nach, Fragezeichen, ob denn der Unternehmensname oder die Unternehmens-ID schon gesetzt ist. Das ist ja eine function, ich der Form halber hier Klammern dahinter. Nach dem Return: Es steht im Moment noch nicht. Das hat also noch nicht funktioniert. Dann müssen wir mit Alt + F11 bei der Steuerung wenigstens einmal draufklicken. "Testinghoff" Und wenn ich jetzt das Gleiche nochmal ausführe, dann steht da korrekt der Name. Das bedeutet also, das Formular ist zwar geöffnet, aber in dessen "form_Load"-Prozedur - das kann ich jetzt hier direkt nachbessern - muss ich einmal ausführen, dass ich auf "cmbUnternehmen" geklickt hätte, Das reicht das an "cmbNiederlassungen Click" weiter und der reicht das an "cmbMitarbeiter Click" weiter. Ich lösche das hier unten mal, damit Sie sehen, dass es jetzt funktioniert. Jetzt kann ich also die Datenbank öffnen, alle Korrekturen speichern, Und Sie haben eben schon gemerkt, das immer wieder öffnen, schließen, suchen, öffnen ist lästig. Am bequemsten ist es, wenn Sie die einfach direkt komprimieren lassen. Dann wird sie geschlossen und sofort wieder geöffnet. Da ist sie wieder. Und jetzt frage ich mal sofort nach, ob der Unternehmensname gesetzt ist und wie Sie hier sehen, korrekt, es ist "(alle)". Man kann jetzt nicht sehen, dass es alle Unternehmen ist, aber das kann ich Ihnen sicher versprechen. Also, es hat alles funktioniert, es ist geöffnet. Und ab diesem Zeitpunkt kann sich Ihr Code völlig darauf verlassen, dass es nur noch Gültige gibt und dass die auch schon gesetzt sind. Wo immer Sie also etwas filtern wollen, ist jetzt alles in Ordnung.

Eine Datenbank mit Access 2013 richtig entwickeln

Sehen Sie einem erfahrenen Datenbankentwickler über die Schulter und lernen Sie dabei, wie Sie in Access 2013 optimale und perfekt skalierbare Datenbank anlegen und pflegen.

5 Std. 18 min (53 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!