Office: (Office 2016) gefiltertes Kombinationsfeld im Unterformular aktualisieren

Helfe beim Thema gefiltertes Kombinationsfeld im Unterformular aktualisieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Forengemeinde, Problem: In meinem Formular wird das gefilterte Kombinationsfeld in einem Unterformular nicht aktualisiert, wenn ich im... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von RogerWilco77, 10. Februar 2017.

  1. gefiltertes Kombinationsfeld im Unterformular aktualisieren


    Hallo liebe Forengemeinde,

    Problem:
    In meinem Formular wird das gefilterte Kombinationsfeld in einem Unterformular nicht aktualisiert, wenn ich im Elternformular einen anderen Datensatz wähle.

    Ausgangssituation:
    Hilfreich fand ich ein Youtubevideo, welches abhängige Kombinationsfelder erklärt.

    Funktioniert... aber nicht in einem Unterformular


    Aufbau des Formulars:

    Elternformular:
    • lst_produktiondatum - eine Liste mit Produktionstagen

    Unterformular:
    • cmb_grund - Kombinationsfeld für Produktionsstörungsgrund
    • cmb_grund_details - Kombinationsfeld mit genauerer Beschreibung

    Dabei enthält cmb_grund_details einen Filter in Abhängigkeit von cmb_grund (wie im Video erklärt).

    cmb_grund hat dabei ein Ereignis "Nach Aktualisierung" als Makro:
    "AktualisierenDaten" - Steuerelementname cmb_grund_Details

    Zweck: bei der Eingabe wird der Filter verwendet, um nur zutreffende Auswahlen zu erlauben.

    Wenn ich nun aber im Elternformular ein neues Datum auswähle, finde ich keine Möglichkeit, dass der Inhalt von cmb_details angezeigt wird.
    Für den Wechsel von einem Datensatz zum nächsten im Unterformular habe ich zwei Buttons (nächster und vorheriger Datensatz) eingefügt.
    Über deren Ereignis "beim Klicken" kann ich bei der Navigation im Unterformular aktualisieren.
    Aber eben nicht im Elternformular.

    :)
     
    RogerWilco77, 10. Februar 2017
    #1
  2. Willkommen im Forum.

    Ist das Elternfomular auch ein Endlosformular?
    Wie hast Du es mit dem UF verknüpft?
    Gibt es im Elternformular eine Ereignisprozedur "Beim Anzeigen"? Dort sollte das UF synchronisiert werden, wenn das nicht automatisch klappt.

    Von Makros als Auslöser für Ereignisprozeduren solltest Du Dich verabschieden und stattdessen VBA Prozeduren verwenden. Damit lassen sich Fehler besser aufspüren (Debugger).

    Auch sind abhängige Combos in Einzelformularen durchaus kein Problem; in Endlosformularen ist das aber nicht ganz so einfach, weil "Nach Aktualisierung" die Datenquelle der zweiten Combo in allen Datensätzen geändert wird.
     
    hcscherzer, 12. Februar 2017
    #2
  3. Nein, das Elternformular ist kein Endlosformular.
    Das Unterformular war endlos, habe ich aber umgestellt, um ein Ereignis für das "Blättern" zu bekommen.
    Ich hatte hier auch den Verdacht, dass da nicht ganz eindeutig war, auf welches Feld sich dann der Filter beziehen sollte... Das passt zu Deiner Anmerkung.

    Die Verknüpfung wurde über den Dialog beim Einfügen eines Unterformulars erstellt.
    Funktioniert auch tadellos, solange man nicht im Kombinationsfeld filtert.

    Ja, das gibt es. Ich habe testweise nochmal darüber die Daten im Kombinationsfeld im Unterformular aktualisieren lassen.
    Aber dann kommt die Fehlermeldung:
    Deinen Einwand mit Makros kann ich nachvollziehen.
    Vielleicht sollte ich den Inhalt des Kombinationfeldes selber abfragen und definieren.
    Aber das passende Ereignis fehlt dann vermutlich immer noch...
     
    RogerWilco77, 12. Februar 2017
    #3
  4. gefiltertes Kombinationsfeld im Unterformular aktualisieren

    hast Du bereits hier nachgelesen?
     
  5. Vielen Dank.
    Ich habe dort gerade nachgeschaut und klar ist schon, dass meine Syntax fehlerhaft war:
    Der Teil ".Form!" war mir unbekannt.
    Leider ist die VPN auf meinem Firmenrechner heute wieder eine Katastrophe.*entsetzt
    Ich werde es daher leider erst morgen testen können.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    RogerWilco77, 12. Februar 2017
    #5
  6. Hallo,

    ich bin ein ganzes Stück weiter gekommen, aber noch nicht am Ziel.

    Ich habe im Unterformular das Ereignis Current() benutzt um mit einer SELECT-Abfrage die Auswahl einzugrenzen
    Code:
    Das ganze funktioniert aber nur, wenn ich in der verknüfpften Liste im Haupformular zwei Mal auf einen Eintrag klicke.
    Nur dann wird der Inhalt des Detail-Kombinationsfeldes angezeigt.

    Hat jemand eine Idee, wo das dran liegen kann?
    Habe ich das falsche Ereignis benutzt?
     
    RogerWilco77, 16. Februar 2017
    #6
  7. Das Ereignis Form_Current (Beim Anzeigen) tritt bei jedem Datensatzwechsel ein.
    Auch beim Öffnen und auch beim Aktualisieren der Datenquelle eines Formulars, denn da wird ja auch ein Datensatz angezeigt.

    Was ist denn die "verknüpfte Liste im Hauptformular"?
    Und was machst Du da in der Click()-Prozedur?
     
    hcscherzer, 16. Februar 2017
    #7
  8. gefiltertes Kombinationsfeld im Unterformular aktualisieren

    Hallo Hans-Christian,

    die Liste im Hauptformular wählt den dort angezeigten Datensatz aus.
    Angelegt habe ich das über den "Assistenten" beim Einfügen des Listenfeldes.
    Dort mache ich mit dem "Click-Ereignis" zur Zeit nichts.
    Nicht jeder Datensatz im Hauptformular hat einen Datensatz im Unterformular zugeordnet.
    Zielst Du darauf ab, dass ich dort beim klicken das Unterformular per Code aktualisieren soll?
    Aber dann verstehe ich nicht, warum das nicht auch beim Aktualisieren des Unterformulars gehen müsste...

    Ich fange gerade erst an, von "zusammengeklickten Makros" auf VBA umzusteigen... Danke für Deine Hilfe.
     
    RogerWilco77, 16. Februar 2017
    #8
  9. Rätselraten ...

    Du hast also ein ungebundenes Listenfeld ...
    Und wenn Du einen Eintrag auswählst, dann wird der zugehörige Satz im HF angezeigt? Und was steht bei dem Click-Ereignis dieses Listenfelds in den Eigenschaften? Ein Makro, das der Assistent angelegt hat?

    Ich würde das - wie schon erwähnt - per VBA machen.
    Ungefähr so:
    Der Click auf die Litbox setzt den Filter aufs HF.
    Das UF wird nur eingeblendet, wenn Detailsätze vorhanden sind.
    Und wenn ja, wird der Filter fürs UF gesetzt.

    Code:
    Wenn - wie Du schriebst - der Befehl für das Setzen der RowSource für die Combo im UF im Form_current() des UF ist, sollte das auch funktionieren ...
     
    hcscherzer, 17. Februar 2017
    #9
  10. Hallo,

    entschuldige Bitte... ich wollte keine Rätsel aufgeben.
    Ich bin noch im Büro und habe zu Hause angefangen, eine anoymisierte DB nach gleichem Schema, aber vereinfacht, aufzubauen...
    Aber die ist noch nicht so weit.

    Ja, ein ungebundenes Listenfeld im HF (enthält ein Datum).
    Ja, es zeigt den entsprechenden Datensatz (Produktionszahlen des Datums).

    Es gibt dann zwei UF: 1) Schrott an diesem Tag 2) Stillstände an diesem Tag.

    in 2) wählt der Benutzer zunächst im ersten Kombinationsfeld den Stillstandgrund und dann einen dazugehörigen Detailgrund.
    Der Detailgrund ist entsprechend dem anderen Feld vorgefiltert.

    Im Klick-Ereignis des HF steht nichts.
    Wohl aber ein mir unverständliches Makro in "nach Aktualisierung".
    Siehe Anhang:
    HF nach Aktualisierung.png

    Ich werde Deinen Code gerne testen.
    Nur ist dieses Unterformular auch das Formular, wo ich neue Datensätze eingeben will... ausblenden ist da nachteilig.
    Ich müsste dann einen Button ergänzen, um das UF zur Eingabe neuer Daten sichtbar zu machen...
    Das wäre ja sicher nicht unmöglich...*wink.gif*

    Was mich aber wurmt ist, dass es prinzipiell funktioniert... wenn ich zwei mal in der Liste im HF klicke.
    Ich habe mir dann einen Haltepunkt im Debugger gesetzt, wenn ich das Kombinationsfeld filtere. Dann funktioniert es. Seltsam ist, dass wenn der Debugger geöffnet wird, mein Formular nicht angezeigt wird.
    Wähle ich dann mein HF wieder über die Registerkarte, ist alles aktuell...
    Keine Ahnung, ob die Info hilft...

    NACHTRAG:
    ich habe Deinen Code ergänzt.
    Das Unterformular schaltet sich, wie von Dir vorgeschlagen, sichtbar und unsichtbar.
    Ich muss aber immer noch 2x in der Liste klicken, damit das Kombinationsfeld für die Details gefüllt wird.
     
    RogerWilco77, 17. Februar 2017
    #10
  11. Das Ereignis "Nach Aktualisierung" der Liste ist auch möglich.
    Aber diese Makros machen mich krank.

    Statt das HF zu filtern, wird eine Suche ausgelöst.
    Und dann die Umwandlung mit Str() ... das ist doch völlig daneben, wenn es sich um einen Zahlenwert handelt.

    Statt das UF unsichtbar zu machen könntest Du auch die Eigenschaft dahingehend ändern, dass nur ein neuer Datensatz eingegeben werden kann.
    Dazu muss das UF den Fokus bekommen und dann zum neuen Satz springen Code:
     
    hcscherzer, 17. Februar 2017
    #11
  12. Danke Hans-Christian,

    aber ich fürchte, das das mein Programm weiter verschönert und auch Sinn macht.
    Aber hilft das bei dem Punkt, dass ich immer 2x auf den Datensatz im Listenfeld im Hauptformular klicken muss?

    Ich habe den Verdacht, dass in dem Moment, wo ich den Inhalt für das abhängige Detail-Kombinationsfeld der Inhalt des ersten allgemeinen Kombinationsfeldes noch nicht definiert ist.
    Entsprechend bekomme ich keine verwertbare Anzeige.
    Beim zweiten Klicken ist es dann schon definiert und funktioniert.
    Nur ein Verdacht...

    Anbei noch ein Screenshot. Leider gezippt.
    PNG war zu gross...*entsetzt
    screenshot datenbank.zip
     
    RogerWilco77, 18. Februar 2017
    #12
  13. gefiltertes Kombinationsfeld im Unterformular aktualisieren

    Hast Du es probiert?

    Was passiert denn, wenn Du in der Navigation des HF den Datensatz wechselst?
     
    hcscherzer, 18. Februar 2017
    #13
  14. Sorry... dann habe ich Dich missverstanden.
    Ich werde es testen.
    Ich hatte Dich so verstanden, dass Du nur statt auszublenden erreichen wolltest, dass man nur einen neuen Datensatz anlegen kann.
     
    RogerWilco77, 18. Februar 2017
    #14
  15. Hallo,

    ich habe es probiert, aber das Ergebnis ist das gleiche.
    Ich muss zwei mal klicken.

    Code:
    ist die Absicht hier ein "False" zu bekommen? oder warum die Aussage "1 = 0"?

    Code:
    Woher weiss Access hier, zu welchem Datensatz es gehen soll?
    Was genau ist der Zweck der Zeile?

    Vielen Dank. Ich weiß Deine Geduld zu schätzen.

    zur Referenz noch der Code aus dem Unterformular:
    Code:
    Und der aktuelle Code des HF:
    Code:
     
    RogerWilco77, 19. Februar 2017
    #15
Thema:

gefiltertes Kombinationsfeld im Unterformular aktualisieren

Die Seite wird geladen...
  1. gefiltertes Kombinationsfeld im Unterformular aktualisieren - Similar Threads - gefiltertes Kombinationsfeld Unterformular

  2. Filter()-Funktion: gefilterte Tabelle erweitern

    in Microsoft Excel Hilfe
    Filter()-Funktion: gefilterte Tabelle erweitern: Hallo, ich möchte gern die Filter-Funktion nutzen (was auch klappt), aber die erzeugte Tabelle möchte ich um neue Spalten erweitern. Leider scheint das aber so nicht zu funktionieren? Beispiel:...
  3. SUMMEWENN bei aufgeblendeten/gefilterten Zeilen

    in Microsoft Excel Hilfe
    SUMMEWENN bei aufgeblendeten/gefilterten Zeilen: Hallo, ich steh mal wieder auf dem Schlauch. Ich habe eine Beispieltabelle angehängt. Ich habe hier eine Liste, wo wir unsere Kunden eintragen, die bei uns Bar bezahlen. Dabei gibt es normale...
  4. Access gefilterten Endlosformular die ID (Autowert) in eine Abfrage zu übergeben

    in Microsoft Access Hilfe
    Access gefilterten Endlosformular die ID (Autowert) in eine Abfrage zu übergeben: Hallo Zusammen, ist es möglich, aus einem gefilterten Endlosformular die ID (Autowert) in eine Abfrage zu übergeben? Das habe ich schon ausprobiert: In der Abfrage als Kriterium eingegeben...
  5. Summenprodukt in gefilterten Zeilen

    in Microsoft Excel Hilfe
    Summenprodukt in gefilterten Zeilen: Hallo zusammen, in einer sehr umfangreichen Datenbank,die sich ständig erweitert, werden über mehrere Filter in verschiedenen Spalten nur noch bestimmte Zeilen angezeigt. Nun soll nur aus den...
  6. Summenprodukt & Zählenwenns nach Text in gefilterter Liste

    in Microsoft Excel Hilfe
    Summenprodukt & Zählenwenns nach Text in gefilterter Liste: Hallo Excel Helfer Ich versuche eine Auswertung aus einer gefilterten Excel-Tabelle (Windows 10 pro) mit Texten zu machen. Ziel ist die Anzahl je Kategorie. z.B: "Neubauten Stadt" / "Neubauten...
  7. Gefilterte Datensätze markieren

    in Microsoft Access Hilfe
    Gefilterte Datensätze markieren: Hallo, ich habe ein Endlosformular, bei welchem ich über einige Filter die Ansicht einschränke. Nun möchte ich die gefilterten Datensätze bearbeiten. Wie bekomme ich den aktuellen Filter in die...
  8. Kombinationsfeld soll nur die im Formular gefilterte Daten anzeigen

    in Microsoft Access Hilfe
    Kombinationsfeld soll nur die im Formular gefilterte Daten anzeigen: Hallo Forum, in einem Formular stelle ich die Daten von Angestellten dar. Dazu habe ich u.a. eine Optionsgruppe, die je nach Auswahl vier Einstellungen zur Anzeige von Angestellten filtert -...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden