Merkwürdiges Kombinationsfeld-Verhalten

Das Problem, das sich hinter dem Titel verbirgt, ist möglicherweise nicht auf das Verhalten von Kombinationsfeldern beschränkt – es ist jedoch der Punkt, an dem es uns dank einer Leseranfrage aufgefallen ist. Diese enthielt die Frage, warum die “Automatisch ergänzen”-Funktion für Kombinationsfelder nicht mehr funktionierte. Das haben wir uns einmal genauer angeschaut und waren verblüfft über die Lösung: Eine Access-Option hat uns einen Strich durch die Rechnung gemacht.

Um das Problem nachzustellen (wenn es in Ihrer aktuellen Access-Konfiguration besteht), erstellen Sie eine Tabelle namens tblAnreden mit den beiden Feldern ID (Primärschlüsselfeld mit Autowert) und Anrede (Textfeld) und füllen diese mit zwei Datensätzen mit den Werten Herr und Frau.

Dann erstellen Sie ein neues, leeres Formular und fügen diesem ein Kombinationsfeld hinzu. Stellen Sie für die Eigenschaft Datensatzherkunft die soeben erstellte Tabelle tblAnreden ein. Legen Sie für die beiden Eigenschaften Spaltenanzahl und Spaltenbreiten die Werte 2 und 0cm fest.

Wenn Sie nun das Formular in der Formularansicht anzeigen und den ersten Buchstaben eines der Einträge eingeben, sollte das Kombinationsfeld wie in Bild 1 reagieren und den Inhalt automatisch ergänzen.

So soll die automatische Ergänzung funktionieren.

Bild 1: So soll die automatische Ergänzung funktionieren.

Sollte Ihr Access-System jedoch eine bestimmte Einstellung aufweisen, dann geschieht genau das nicht – dann müssen Sie den Wert wie in Bild 2 komplett selbst eingeben oder halt per Kombinationsfeld auswählen.

Unter bestimmten Umständen funktioniert es jedoch nicht.

Bild 2: Unter bestimmten Umständen funktioniert es jedoch nicht.

Was die Lösung erschwert hat: Es konnte kein allgemeiner Bug sein, denn auf all meinen anderen Datenbanken hat das Kombinationsfeld wie erwartet funktioniert.

Die Suche nach der Lösung

Wie findet man nun die Lösung für ein solches Problem In Kurzform: Als erstes prüft man natürlich, ob die naheliegenden Eigenschaften unterschiedlich sind – also zum Beispiel ob Automatisch ergänzen überhaupt aktiviert ist. Das war jedoch der Fall.

Da die Kombinationsfelder in allen Datenbanken funktionierten außer in der meines Kunden, habe ich erst einmal ein einfaches Formular wie das zuvor beschriebene mit dem Kombinationsfeld zur Auswahl der Anreden erst in der Anwendung des Kunden erstellt und dann in einer meiner eigenen Anwendungen.

Das Verhalten blieb gleich: In der Kundenanwendung keine automatische Ergänzung, in meinen Anwendungen schon.

Dann habe ich die Formulare der beiden Anwendungen mit der folgenden Anweisung in Textdateien exportiert:

Application.SaveAsText acForm, "<Formularname>", "<Pfad>"

Die so entstandenen Textdateien habe ich dann verglichen und keine nennenswerten Unterschiede gefunden.

Danach habe ich mir überlegt, welche Eigenschaften einer Datenbank sich noch auf das Verhalten von Steuerelementen auswirken könnten und bin auf die Access-Optionen für die aktuelle Datenbank gekommen.

Diese habe ich dann geöffnet und ein wenig herumexperimentiert. Ich dachte erst, ich hätte die Lösung, als ich die Eigenschaft Cacheformat verwenden, das mit Microsoft Access 2010 und höher kompatibel ist deaktiviert habe (siehe Bild 3).

Diese Option führte kurzzeitig zum Erfolg.

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar