Tipps und Tricks 1/2012

Diesmal gibt es drei Tipps rund um die Arbeit mit Microsoft Access – die haben es dafür aber auch in sich. Haben Sie sich auch schon mal geärgert, dass Sie ein Nachschlagefeld für ein Fremdschlüsselfeld in der Tabelle definiert haben und dann nur noch die verknüpften Daten, aber nicht mehr die enthaltenen Werte in der Tabelle vorgefunden haben Dann hilft Ihnen der erste Trick weiter, mit dem Sie diese Daten ohne änderung des Tabellenentwurfs wieder hervorzaubern. Der zweite Tipp dreht sich um das Hinzufügen von langen Texten zu Memofeldern. Dies gelingt in Formularen nur bis zu einer bestimmten Anzahl Zeichen. Wollen Sie trotzdem längere Texte einfügen, gehen Sie den hier beschriebenen Umweg über eine Textdatei. Im dritten Tipp erfahren Sie schließlich, wie Sie das VBA-Projekt der aktuellen Access-Datei referenzieren können.

Werte von Nachschlagefeldern anzeigen

Wenn Sie die Fremdschlüsselfelder Ihrer Tabellen gleich beim Erstellen als Nachschlagefelder definieren, sparen Sie eine Menge Arbeit: Erstens hilft der entsprechende Assistent schnell und zuverlässig, das Nachschlagefeld und auch die Beziehung zwischen den beteiligten Tabellen einzurichten. Und zweitens brauchen Sie solche Felder nur noch einfach in den Entwurf eines Formulars zu ziehen, um gleich ein praktisches Kombinationsfeld zur Auswahl der Daten der verknüpften Tabelle vorzufinden.

Dummerweise erschweren Nachschlagefelder das Analysieren der Tabelleninhalte, wenn beispielsweise Daten einmal nicht so angelegt wurden, wie Sie es sich wünschten. Ein direkter Blick auf die in den Feldern gespeicherten Zahlenwerte statt der Anzeigewerte wie etwa Kategorien oder Lieferanten einer Artikeltabelle wäre hilfreich.

Es ist jedoch kein Problem, eine solche Sicht herzustellen – und das ohne Anpassung des Entwurfs der betroffenen Tabelle. Sie brauchen einfach nur eine Abfrage auf Basis der Tabelle zu erstellen und für die Nachschlagefelder die Eigenschaft Steuerelement anzeigen auf Textfeld zu ändern (siehe Bild 1).

pic001.png

Bild 1: Nachträgliches Deaktivieren eines Nachschlagefeldes

Schon zeigt die Abfrage die tatsächlichen Werte der Fremdschlüsselfelder statt der Werte der verknüpften Felder an (s. Bild 2).

pic003.png

Bild 3: Lange Texte lassen sich ab einer bestimmten Zeichenzahl nicht mehr in ein Memofeld kopieren.

Große Texte in Memofelder einlesen

Memofelder nehmen zwar theoretisch bis zu 65.536 Zeichen auf. Wenn Sie diese jedoch aus der Zwischenablage einfügen möchten, ist die Anzahl der maximal möglichen Zeichen geringer. Überschreiben Sie diese Anzahl, erscheint die Fehlermeldung aus Bild 3.

pic002.png

Bild 2: Eine Abfrage legt die tatsächlichen Werte von als Nachschlagefeld eingerichteten Fremdschlüsselfeldern offen.

Was tun, wenn der Text trotzdem im Memofeld landen soll Wenn ein Formular zur Dateneingabe verwendet wird, was ja normalerweise der Fall ist, können Sie einfach eine Schaltfläche hinzufügen, die den Inhalt einer zuvor mit dem Text zu füllenden Datei einliest.

Im folgenden Fall geht die Prozedur davon aus, dass die Textdatei im gleichen Verzeichnis wie die Datenbank liegt, und zwar unter dem Namen Text.txt:

Private Sub cmdInhaltAusTextdatei_Click()
    Dim strText As String
    Dim strPfad As String
    strPfad = CurrentProject.Path & "\Text.txt"
    Open strPfad For Input As #1
    strText = Input$(LOF(1), #1)
    Close #1
    Me!Inhalt = strText
End Sub

Die Prozedur öffnet die Datei, liest den kompletten Text in die Variable strText ein und schreibt deren Inhalt anschließend in das Textfeld.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar