Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.
FRAGE Ich arbeite ständig mit zwei geöffneten Formularen; ein Auftragsformular zur Erfassung der Tätigkeiten (Auftragsverwaltung) und ein Formular mit den Liegenschaften (Strassen). Wie kann ich per Doppelklick oder per Button einen Straßennamen aus dem Feld "Strasse" (Formular "Strassen") in das Feld "Einsatzort" (Formular "Auftragsverwaltung") einfügen. Mit Strg + C und Strg + V (Kopieren und Einfügen) ist das bei mehreren zu erfassenden Aufträgen sehr zeitraubend.
Über Schaltflächen neben einem Memofeld in einem Access-Formular möchten Sie zum Beispiel häufig benutzte Textbausteine per Mausklick an der Cursorposition einfügen. Das Problem dabei: Durch den Wechsel zur Schaltfläche verliert das Memofeld den Fokus und damit auch die Cursorposition. Wir zeigen in diesem SmartTipp, wie Sie per VBA gezielt an einer bestimmten Stelle einen Text einfügen können, so dass der Textbaustein an der aktuellen Cursorposition landet.
Es ist einmal wieder soweit: ein Microsoft 365-Update sorgt für größere Probleme beim Einsatz von Access. Nach der Aktualisierung auf die Version 2408 (unterschiedliche Build-Nummern je nach Updatekanal) gibt es reproduzierbar Probleme, eine Datenbank zu schließen. Ein Access-Prozess, der nur über den Task-Manager geschlossen werden kann, bleibt geöffnet und sorgt auch dafür, dass das Lockfile der verwendeten Datenbank nicht gelöscht wird. Außerdem kommt es bei der Arbeit in Access regelmäßig zum Fehler 3048 ("Es können keine weiteren Datenbanken geöffnet werden."). Ein Bugfix von Microsoft steht noch aus, aber es gibt zum Glück Workarounds.
Um Daten zwischen Makros, VBA-Routinen, Formularen, Berichten und Abfragen auszutauschen, nutzen Sie in der Regel globale Variablen und entsprechende benutzerdefinierte Funktionen zum Auslesen der Variableninhalte. Diese Art des Daten- und Informationsaustausches ist nicht nur sehr umständlich, sondern auch unsicher: Wenn es zu einem VBA-Fehler kommt oder Sie Änderungen vornehmen, werden die Module automatisch deinitialisiert und Variableninhalte gehen verloren. Schlimmstenfalls können dann "leere" Variablen verarbeitet werden, so dass es zu falschen Ergebnissen bei der Verarbeitung Ihrer Daten kommen kann. Das war Anlass für das Access-Entwicklerteam, eine neue Technik für den Daten- und Informationsaustausch einzuführen, die sogenannten "TempVars" (Temporary Variables, temporäre Variablen). Wir zeigen in diesem zweiteiligen Tipp der Woche wie Sie die neue Funktion optimal nutzen.
FRAGE Für meine Datenbank-Anwendung möchte ich per VBA aus Access heraus Absätze aus einem Word-Dokument lesen und zur Aktualisierung auch in ein Dokument zurückschreiben. Bisher schaffe ich es allerdings nur, Textmarken (Bookmarks) für die virtuelle Positionierung und Auswahl zu verwenden. Im Praxiseinsatz ist das aber zu unflexibel. Ich möchte an beliebigen Stellen Text einfügen, ohne dass Textmarken vorhanden sein müssen.
Und es tut sich doch noch etwas … Nach über einem Jahr ohne größere Updates, gibt es endlich wieder eine erwähnenswerte Neuerung in Access. Mit dem neuesten Microsoft 365 Update steht Teilnehmern am Insider-Programm (Beta-Kanal) eine deutlich erweiterte Diagrammfunktion in Access 365 zur Verfügung. Es wurden insgesamt 10 neue Diagrammtypen ergänzt und es stehen verschiedene neue Formatierungsoptionen zur Verfügung.
Um Daten beispielsweise zwischen Makros, VBA-Routinen, Formularen, Berichten und Abfragen auszutauschen, nutzen Sie in der Regel globale Variablen und benutzerdefinierte Funktionen zum Auslesen dieser Variablen. Diese Art des Datenaustausches ist nicht nur sehr umständlich, sondern auch unsicher: Wenn es im VBA-Bereich zu einem Fehler kommt oder Sie Änderungen vornehmen, werden die Module automatisch deinitialisiert und Variableninhalte gehen verloren. Schlimmstenfalls können dann "leere" Variablen verarbeitet werden, so dass es zu falschen Ergebnissen bei der Verarbeitung Ihrer Daten kommen kann. Mit Access 2007 wurden daher die sogenannten "TempVars" (Temporary Variables, temporäre Variablen) eingeführt, deren optimalen Einsatz wir Ihnen in diesem Tipp demonstrieren.
FRAGE Ich versuche gerade, in einem Kombinationsfeld nur bestimmte Daten anzeigen zulassen. Das Kriterium dazu bezieht sich auf ein anderes Kombinationsfeld: Formulare![frmKriterien]![KombiFeld].Column(3). Dabei erhalte ich jedoch die Fehlermeldung "Undefinierte Funktion". Kann ich als Kriterium eine Spalte in einem anderen Kombinationsfeld verwenden und wenn ja wie? Ich brauche hier als Abfragekriterium den Wert, der in der 3. Spalte steht.
Aus verschiedenen Gründen ist es immer wieder notwendig, die Größe der aktuellen Datenbank zu überwachen. Beim Erreichen einer bestimmten Größe soll eine Meldung angezeigt werden, so dass zum Beispiel der Anwender eine Archivierung/Auslagerung starten oder der Administrator weitere Schritte unternehmen kann. In diesem Tipp der Woche stellen wir eine entsprechende VBA-Lösung vor und zeigen Schritt für Schritt, wie Sie sie in Ihre Datenbanken integrieren.
FRAGE Wenn ich in meiner Access-Datenbank eine verknüpfte Tabelle mit der rechten Maustaste anklicke, findet sich im Kontextmenü unter anderem der Befehl In lokale Tabelle konvertieren, mit eine Tabelle aus dem Backend ins Frontend geholt wird. Diese Funktion möchte ich gerne programmatisch nutzen, aber ich bin bisher nicht fündig geworden. Gibt es für die nützliche Umwandlung auch eine VBA-Anweisung?
Dieses Blog präsentiert Inhalte aus den E-Mail-Newslettern von SmartTools Publishing. Premium-Beiträge, die mit [S+] gekennzeichnet sind, sind Newsletter-Abonnenten vorbehalten.
Jetzt Abonnent werden
Falls Sie SmartTools Access Weekly noch nicht abonniert haben, können Sie sich jetzt anmelden – kostenlos und innerhalb weniger Minuten! Sie erhalten dann umgehend ein Passwort, das alle Premium-Beiträge für Sie freischaltet.
[S+] Inhalte freischalten
Wenn Sie SmartTools Access Weekly bereits beziehen, geben Sie hier Ihr Abonnenten-Passwort ein, um alle Premium-Beiträge freizuschalten:
Tipp: Sie finden das gültige Passwort immer am Ende der neuesten Ausgabe Ihres Newsletters.