Barvna shema: Temna
Trenutno dejavna stran: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » troubleshooting » Ein Access-Unterformular folgt dem Raster nicht

Ein Access-Unterformular folgt dem Raster nicht

Das Unterformular auf dem Formular zeigt keine Datensätze oder nur die des ersten Hauptdatensatzes, obwohl seine Eigenschaft Verknüpfen von ein WklGrid (oder ein anderes WKL-Steuerelement) des Formulars nennt und der Benutzer darin andere Datensätze auswählt.

Umgebung

WKL Forms Object Library ab 1.15, Microsoft 365 Access, ACCDB, ACCDE und Runtime.

Ursache

Access liest den Wert des verknüpften Steuerelements über dessen Value – bei einem WKL-Steuerelement der ausgewählte Schlüssel –, aktualisiert ein Unterformular aber nicht, wenn sich dieser Wert ändert (weder eine Änderungsbenachrichtigung des Steuerelements noch irgendetwas anderes veranlasst es dazu). Das Raster aktualisiert deshalb jedes Mal, wenn sich sein ausgewählter Datensatz ändert, die Unterformulare seines Formulars, deren Verknüpfen von es nennt. Das scheitert, wenn:

  • Verknüpfen von etwas anderes als den Namen des Steuerelements enthält – Grid1.KundeID, ein Feld des Formulars oder den Namen mit einem Tippfehler. Nur der reine Name wird erkannt.
  • das Raster einen zusammengesetzten Schlüssel hat (KeyField mit mehreren Feldern): Value ist dann ein Array, das Access nicht mit einem Feld des Unterformulars vergleichen kann.
  • das Unterformular-Steuerelement hinzugefügt oder umbenannt wurde, während das Formular in der Formularansicht geöffnet war: Das Raster sucht verknüpfte Unterformulare einmal, beim Öffnen.

Lösung

  1. Setzen Sie Verknüpfen von des Unterformulars nur auf den Namen des Rasters (Grid1) und Verknüpfen nach auf das Feld, das den Schlüssel des Rasters enthält (KundeID).
  2. Um über ein anderes Feld des ausgewählten Datensatzes oder mit einem zusammengesetzten Schlüssel zu verknüpfen, verwenden Sie statt eines Unterformulars ein zweites WklGrid als Detail: Sein LinkMasterFields darf Grid1.KundeID nennen (Zwei Raster ohne Code verknüpfen).
  3. Öffnen Sie das Formular nach Änderungen in der Entwurfsansicht erneut in der Formularansicht.
  4. Aus Code aktualisiert Me!Sub1.Requery das Unterformular jederzeit.
de/wiki/msaccess/comctl/troubleshooting/subform-does-not-follow-grid.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille