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 In meiner Datenbank verwende ich einem Formular 3 Eingabefelder für Versicherungsnummern (für 5-stellige, für 11-stellige oder für 13-stellige Nummern). Beim Ausfüllen muss sichergestellt sein, dass mindestens eines dieser Felder einen Inhalt aufweist. Es dürfen also nicht alle 3 Felder nicht leer bleiben. Wie kann ich diese Prüfung zuverlässig über eine VBA-Prozedur durchführen und sicherstellen, dass ein Datensatz nur mit einem ausgefüllten Feld gespeichert wird?
Mit Power Apps und Dataverse gibt es endlich eine stabile Plattform, mit der Sie Ihre Access-Datenbanken schnell und einfach in die Cloud bringen können. Dataverse ist ein stabiles Cloud-Backend, das in Access eingebunden werden kann. Der entscheidende Schritt besteht nun darin, mit vertretbarem Aufwand ein Front-End für andere Plattformen zu schaffen, so dass die Access-Daten mobil auf dem SmartPhone/Tablet oder auch auf anderen Plattformen wie macOS verwendet werden kann. Und hier kommen die Power Apps ins Spiel. Mit Assistenten und Power Fx als Programmiersprache lassen sich in kürzester Zeit professionelle Ergebnisse erzielen. Unser Tipp gibt einen ersten Überblick über den Einsatz von Power Apps zusammen mit Access.
FRAGE Ich verwende verschiedene Formulare, die ich direkt als Anschreiben an Kunden erstellt habe. Nun möchte ich in den Formularen den gesamten Namen der Kunden in der Form "Titel-Vorname-Zuname" als Feld einfügen. Das gelingt auch, wenn ich die Felder aus der zugrundeliegenden Abfrage in der Form verbinde, indem ich ein eigenes Feld beispielsweise "Gesamtanrede" erstelle und darin die Felder in der folgenden Form zusammensetze: =[Titel] & " " & [Vorname] & " " & [Nachname]. Das Problem dabei: Wenn der Datensatz keinen Titel enthält, wird in meinen Formularen ein "leeres Zeichen" ausgegeben und der Text erscheint nach rechts verschoben. Können Sie mir dazu einen Tipp geben, wie ich das vermeide?
In Ihren Formularen verwenden Sie häufig die Access-Funktionen "Auswahlbasierter Filter", "Formularbasierter Filter" oder "Spezialfilter" zum Filtern und Sortieren der Datensätze. Beim nächsten Öffnen des Formulars ist das Filter- oder Sortierkriterium jedoch immer noch in der Eigenschaft "Filter" bzw. "Sortiert nach" vorhanden. Versuche, das Problem per Me.FilterOn = False oder Me.OrderByOn = False und Me.Filter = "" oder Me.OrderBy = "" in "Form_Close" oder "Form_Unload" zu lösen, bringen kein Ergebnis. Wir zeigen, wie Sie Filter und Sortierung zuverlässig löschen.
Bei der Erfassung von Datums- oder Zeitangaben über Felder vom Datentyp "Datum/Zeit" werden häufig Fehlermeldungen angezeigt, weil das Format der Eingabe nicht korrekt ist oder durch Tippfehler Buchstaben in der Eingabe enthalten sind. Sie können sich hier zwar mit einem entsprechenden Eingabeformat wie "99/99/0000;0;_" für Datumsangaben oder "00:00;0;_" für Zeitangaben helfen, aber das setzt voraus, dass die Eingaben auch immer komplett in diesem Format erfolgen. Sie können somit für den 1. Juni 2024 nicht einfach "1.6.2024" eingeben, sondern müssen "01.06.2024" eintippen. Analog dazu kann eine Zeit wie 15 Minuten nach Acht nicht einfach als "8:15" eingetippt werden, sondern ist als "08:15" einzugeben. Um dieses Problem zu lösen, verwenden Sie anstelle von Eingabeformaten einen Tastaturfilter, der jede gedrückte Taste bereits bei der Erfassung prüft und ungültige Eingaben direkt eliminiert.
FRAGE Meine Access-Datenbank soll mit Word zusammenarbeiten und Daten übergeben bzw. in ein Dokument einfügen. An einer Stelle setze in einem Adress-Formular zum Beispiel eine Zeichenkette mit der Adresse aus dem aktuellen Datensatz zusammen und möchte diese per Mausklick durch den Anwender in Word an der aktuellen Cursorposition des geöffneten Dokuments einfügen. Wie muss ich an die Übergabe an Word realisieren?
Neue Funktionen für Access sind selten, aber es gibt zumindest von Zeit zu Zeit kleine Lebenszeichen des Entwicklerteams. So wird seit einigen Wochen nach und nach eine kleine neue Funktion per Click-To-Run-Update für Access 365, 2021, 2019 und 2016 verteilt, die inzwischen in den meisten Installationen angekommen sein müsste: Wenn Sie in der Navigationsleiste eine Abfrage mit der rechten Maustaste anklicken, steht Ihnen endlich ein neues Kontextmenü SQL-Ansicht zur Verfügung, mit dem Sie eine Abfrage direkt in der SQL-Ansicht öffnen können.
In einigen Datenbanken kommen Nummerierungen der Form "1.1.1", "1.1.2", "1.1.3" usw. als Ordnungskriterium zum Einsatz. Probleme gibt es allerdings bei der Sortierung, weil Access beispielsweise "1.1.10" direkt nach "1.1.1" und somit vor "1.1.2" einordnet. Unser Tipp zeigt, wie Sie dieses Problem mit Hilfe einer VBA-Funktion lösen. Basis der Lösung zur Sortierung nach Nummerierungen ist eine Funktion, die die Nummerierung umformatiert, indem sie zunächst jede Zahl dreistellig mit führenden Nullen aufbaut und das Ergebnis aller Zahlen der Nummerierung zu einer Zeichenkette zusammensetzt.
FRAGE Ich muss oft sehr unterschiedliche Daten in Access-Datenbanken importieren. Dabei wird die Länge des definierten Feldes des Datentyps "Text" eher zu groß als zu klein gewählt (damit beim Import keine Daten verloren gehen). Um Speicherplatz zu sparen und die Verarbeitungsgeschwindigkeit zu vergrößern, würde ich nun gerne nach erfolgtem Download die Textfeldgröße in den einzelnen Tabellen an die Länge des längsten darin gespeicherten Inhaltes anpassen. Da es sich um zahlreiche Tabellen mit jeweils vielen Textfeldern handelt, wäre ein Tool, das diese automatisch für alle Tabellen einer Datenbank übernimmt, sehr hilfreich.
Nach einem der letzten Microsoft 365-Updates kommt es zu vermehrten Access-Abstürzen, die unwillkürlich in verschiedenen Situationen auftreten können. Mit dem neuesten Microsoft 365-Update im aktuellen Kanal für den März 2024 hat Microsoft die Probleme inzwischen behoben. Sie können die Aktualisierung auf die Version 2402 (Build 17328.20184) ggf. über Datei-Konto und Updateoptionen-Jetzt aktualisieren abrufen.
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.