Access: Hilfe zur eigenen Datenbank anzeigen

Tabelle als Datenquelle

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Anstatt die Hilfetexte aus einer Eigenschaft eines anderen Steuerelements auszulesen, ist eine spezielle Tabelle viel flexibler.

Transkript

Auf den ersten Blick sieht dieses Formular aus wie die Version, wo der Inhalt einfach unten in einem gemeinsamen Bezeichnungsfeld angezeigt wurde. Das ist insofern auch richtig, aber dieses Mal ist die Datenquelle anders, denn wenn ich jetzt nachgucke im Entwurf, beispielsweise hier für adresVorname, dann sehen Sie, dass die Marke leer ist. Tatsächlich kommen die Daten jetzt aus einer Tabelle. Also wenn ich hier den Navigationsbereich öffne, dann sehen Sie, es gibt eine Tabelle hilfeTexte. Die hat hier das Objekt genannt frmAdressen und alle daran vorkommenden Controls, und zu jedem steht hier ein Hilfetext. Ich kann also, wenn ich ein zweites Formular habe, einfach diesen Block sozusagen kopieren und entsprechend mit den Controls beschriften. Das kann man sogar automatisieren, das VBA diese Daten einträgt. Ich habe das hier zu Fuß gemacht. Wenn ich also hier einen Text ändere, ich mache da einfach mal ein paar Mal X dran für den Vornamen und dann bei den Adressen hier nachgucke, dann sehen Sie, dass hier die X-e angezeigt werden. Das sieht auf den ersten Blick nur wie ein bisschen mehr Arbeit aus, aber hat den Vorteil, dass erstens die Hilfetexte pflegbar wären, wenn Ihr Kunde die in irgendeiner Tabelle pflegen möchte, und zweitens auch mehrsprachig werden könnten. Das geht ja mit der Marke-Eigenschaft nicht, also ist genau ein Text, der dadrin steht. Irgendwann ist da auch kein Platz mehr. Hier können Sie einfach mehrere Felder zu diesem Datensatz anlegen für verschiedene Sprachen. Im Code sieht das wieder relativ einfach aus wegen des Problems mit Screen.ActiveControl, dass das noch nicht immer vorhanden ist, dieses Objekt beim Laden des Formulars und, sagen wir ehrlich, auch ein bisschen Ärger macht an der Stelle, habe ich es wieder insofern vereinfacht, als ich hier explizit den Namen dieses Controls mitgebe als Zeichenkette, und das wird dann hier gesucht. Hier steckt ein einfaches DLookup drin, also ein Nachschlagen eines Wertes, und zwar kriege ich zurück das Feld Hilfetext aus der Tabelle Hilfetexte mit dieser Bedingung, das nämlich, das Hilfeobjekt. Achtung! Hier mit den einfachen Hochkommata drumrum, die sind wichtig, dass das Hilfeobjekt nämlich meinen Namen haben muss frmAdressen. Das ist der Formularname und gleichzeitig das Hilfe-Control, den Namen des Controls, also zum Beispiel adresNachname haben muss. Und dann kann ich dort nachgucken bei den Hilfetexten für frmAdressen, aber gleichzeitig muss es adresVorname sein. Das ist dieser Datensatz, und dann kriege ich diesen Inhalt. Ich nehme die X-e mal wieder weg zurück. Das ist alles, was sich geändert hat. Ich lese also die Caption nicht mehr aus aus einer Marke-Eigenschaft, sondern aus einer Tabelle, und zwar mit DLookup. DLookup wird, wenn wegen des Filters kein Datensatz dazu passt, ein Nullwert zurückliefern, deswegen muss ich das hier abfangen. Null to zero hat als erstes Argument dieses DLookup und als zweites Argument dann so einen Standardtext. Wenn ich jetzt hier in der Tabelle hingehe und dieses Control sozusagen unbekannt mache und versuche dann, hier bei dem Vornamen was zu ermitteln, dann sage ich, diesen Datensatz konnte ich nicht finden. Dann gibt es hier einen Standardtext und keinen Fehler. Also der Hauptunterschied besteht darin, dass die Daten nicht aus einem anderen Control dieses Formulares kommen, sondern aus einer zentralen Tabelle, und die könnte statt einfach Hilfetext, eine Spalte Hilfetext Deutsch, Hilfetext Englisch, Hilfetext Spanisch und so was haben. Das macht das Ganze flexibler, und wenn man sich ein klein bisschen mehr Schreibaufwand gönnt, nämlich hier den Namen des Steuerelements des Controls, auch explizit zu übergeben als String, dann ersparen Sie sich einiges an Fehlerbehandlung, also hier steht da eine Zeichenkette, und das ist sicherer und funktionsfähiger als Screen.ActiveControl.

Access: Hilfe zur eigenen Datenbank anzeigen

Unterstützen Sie die Nutzer Ihrer Access-Datenbank durch geeignete Hilfesysteme – ohne und mit VBA-Programmierung.

52 min (12 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:04.01.2018

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!