Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: RomanG am Januar 15, 2025, 08:45:41

Titel: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: RomanG am Januar 15, 2025, 08:45:41
Hallo zusammen,

ich habe meine Accessdatenbank auf meinem neuen Rechner installiert, vorher Win7 jetzt Win11, vorher uralt-Access, jetzt 2013. Ich musste die Datenbank auf 64bit umstellen. Die Umstellung hat trotz meiner bescheidenen Access-Kenntnisse gut geklappt, die Datenbank läuft, aber folgendes Problem bekomme ich einfach nicht gelöst:

Ich arbeite in einigen Formularen mit Kombinationsfeldern. Auf dem neuen PC funktioniert die Autovervollständigung nur bei Einträgen mit Zahl oder Buchstabe "A" am Anfang.
Alles andere, also ab "B" bis "Z", wird beim Eingabebeginn nicht autovervollständigt.
Wenn ich den Eintrag (es handelt sich um Bandnamen) komplett tippe und per TAB ins nächste Feld springe, wird der Eintrag korrekt gezogen.
Wenn ich auf den kleinen Pfeil tippe, wird alles richtig angezeigt (also nicht nur Band mit Zahl oder Buchstabe A am Anfang, sondern alles).

Ich habe die Datenbank nun testweise auf einem andern Rechner installiert, dort klappt alles einwandfrei, keine Probleme.

Meine Google-Recherche war erfolglos, ich konnte zu diesem Problem keine Einträge oder gar Lösungen finden.

Hoffentlich konnte ich das Problem verständlich schildern.

Ich würde mich sehr freuen, wenn jemand eine Idee hat, woran das liegen könnte.

Danke & viele Grüße

Roman
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: RomanG am Januar 20, 2025, 13:38:53
Thema ist noch aktuell, ich konnte keine Lösung finden.

Mir fällt auf, dass die automatische Vervollständigung bei manchen Buchstabenkombinationen funktioniert. Erscheint aber komplett random, ich finde keinen Anhaltspunkt, woran es liegen könnte.

Ich wäre für jede Hilfestellung dankbar.
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: PhilS am Januar 20, 2025, 14:07:19
Es gab/gibt ein Problem mit dem Auto-Vervollständigen auf Windows 11.
Siehe: Combo Box "Auto Expand" May Not Work Correctly in Windows 11 (https://www.accessforever.org/post/combo-box-auto-expand-may-not-work-correctly-in-windows-11)
Im wesentlichen sollte das Problem längst behoben sein. Nur wenn du den ANSI92 Kompatibilitätsmodus aktiviert hast, dann besteht das Problem bekanntermaßen weiterhin.
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: RomanG am Januar 23, 2025, 11:48:13
Hallo Phil,
vielen Dank für die Antwort und den Hinweis auf das Win11 Problem.

ANSI92 war nicht aktiviert, habe den Modus jetzt testweise ein-/ausgeschaltet, leider aber ohne Effekt, das Problem besteht unverändert weiter.

Gibt es noch andere Ansätze/Vorschläge?
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: PhilS am Januar 23, 2025, 11:53:16
Zitat von: RomanG am Januar 23, 2025, 11:48:13Gibt es noch andere Ansätze/Vorschläge?
Ich bin nicht sicher, ob das zu den Symptomen passt. Du könntest mal überprüfen, ob die gebundene Spalte der Combobox eindeutige Werte enthält. Wenn das nicht der Fall ist, verhält sich eine Combobox evtl. unerwartet.
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: RomanG am Januar 23, 2025, 12:16:03
Ich habe mir den Link in deiner ersten Antwort komplett durchgelesen und bin auf folgende Lösung eines anderen Users gestoßen, die zu funktionieren scheint.

Die Funktionsweise ist minimal unterschiedlich, sollte für mich aber ausreichen:


Private Sub MeinKombinationsfeld_GotFocus()

    Me!MeinKombinationsfeld.Dropdown
   
End Sub



Nochmals vielen Dank für Deine Hilfe & viele Grüße!

Roman
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: RomanG am Januar 23, 2025, 12:42:32
Ein Problem besteht mit der neuen Lösung nun doch:

Mein Kombinationsfeld zieht Werte aus meinem Artikelstamm. Dort sind alle Artikel gelistet, also lieferbare, reservierte, ausverkaufte.

Vorher hat mein KombiFeld nur die lieferbaren Artikel angezeigt, nun werden alle Artikel im Dropdown gezogen.

Wo/wie kann ich in dem o. g. Code ein Kriterium einbauen, damit ausverkaufte Artikel nicht angezeigt werden?

Vielen Dank!
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: PhilS am Januar 23, 2025, 13:03:43
Zitat von: RomanG am Januar 23, 2025, 12:42:32Vorher hat mein KombiFeld nur die lieferbaren Artikel angezeigt, nun werden alle Artikel im Dropdown gezogen.

Wo/wie kann ich in dem o. g. Code ein Kriterium einbauen, damit ausverkaufte Artikel nicht angezeigt werden?
Nichts in diesem Thread hier hatte bisher irgendetwas mit den Daten, die in der Dropdownliste angezeigt werden, zu tun.

Die Daten in dem Dropdown werden normalerweise durch eine Abfrage ermittelt. Also kannst du in dieser Abfrage ein entsprechendes Kriterium ergänzen. Grob skizziert:
SELECT ArtikelId, ArtikelName FROM Artikel WHERE Status = 'Lieferbar';
Titel: Re: Kombinationsfeld in Formular: Autovervollständigung funktioniert nicht mehr
Beitrag von: Bitsqueezer am Januar 23, 2025, 13:47:45
Hallo,

wenn die Liste in der Kombobox sehr lang ist, verwendet Access Lazy Loading für die Einträge. Das siehst Du dann daran, daß Du beim Herunterziehen der Scrollleiste nicht an das Ende der Liste gelangst und diese auch erst nach dem Loslassen des Scrollbalkens aktualisiert wird.
In dem Fall kann es passieren, daß auch das Autovervollständigen erst dann richtig funktioniert, wenn die Liste bis zu dem gesuchten Wort geladen wurde.

Um das zu vermeiden, kannst Du im GotFocus-Event der Kombobox einfach auf den ListCount zugreifen:
Dim lngDummy As Long
lngDummy = Me.MeineKombobox.ListCount

Das zwingt Access dazu, die Liste sofort und schnell zu laden, sobald man die Kombobox "betritt". Sofern die Daten die Kapazität der Kombobox nicht überschreiten, sollte Autovervollständigen danach richtig funktionieren, außerdem siehst Du den Effekt beim Scrollbalken, der jetzt bereits beim Verschieben des Balkens die Liste immer aktualisiert, und Du kannst sofort zum Ende der Liste scrollen.

Inwieweit das hier Deinem Problem entspricht oder es bei Dir andere Ursachen hat, kann ich natürlich nicht sagen.

Gruß

Christian