Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Filter nach Wert in Zahlengruppe

Begonnen von TonyMotion, Januar 11, 2026, 07:06:02

⏪ vorheriges - nächstes ⏩

TonyMotion

.
Hallo Ihr Lieben!
Leider komme ich (mangels VBA-Kenntnisse) nicht weiter :( .
Dank Markus (MarkusXY) funktioniert der Filter wunderbar.
Bei eindeutigen Werten werden Formular und Kombis wie gewünscht aktualisiert.
Nun gibt es aber im Feld (abfrTitel3: KomID) bis zu 3 Werte.
Da diese aber NICHT immer eindeutig sind, werden diese Titel auch nicht gefunden.
Zur Veranschaulichung sind die entsprechenden Titel mehrfach dargestellt.
Vielleicht hat ja Jemand Zeit und Lust und findet eine Lösung.
Vielen Dank für Eure Unterstützung! Tony

Hinweis: https://www.office-hilfe.com/support/threads/filter-nach-wert-in-zahlengruppe.59771/
.

PhilS

Zitat von: TonyMotion am Januar 11, 2026, 07:06:02Bei eindeutigen Werten werden Formular und Kombis wie gewünscht aktualisiert.

Nun gibt es aber im Feld (abfrTitel3: KomID) bis zu 3 Werte.
Ohne deine Beispiel-DB angeschaut zu haben...
Die gebundene Spalte eines Kombinationsfeldes muss eindeutig sein, sonst funktioniert es nicht sauber (und macht auch logisch keinen Sinn).
Das kannst du erreichen, indem du nur die relevanten Spalten in die Datenherkunft des Kombinationsfeldes aufnimmst; ggfls. kann man mit dem DISTINCT (Eindeutige Werte) echte Duplikate in der Datenherkunft eliminieren.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

FredFred

#2
dann wirf doch die KomFK aus deiner Abfrage raus, dann ist der Titel auch eindeutig oder gruppiere die Kommentare auf z.b. (Erster Wert), sofern ich das richtig verstehe, dass pro Song nicht mehrere Kommentare angezeigt werden sollen.
Im Übrigen entferne den Standardwert 0 aus den Fremdschlüsselfeldern. Das verhindert ref. Integrität, bzw. lässt die sich erst gar nicht aktivieren.



TonyMotion

.
Hallo Ihr Lieben!
Habe erneut versucht eine Lösung zu finden.
Nochmal mein Anliegen:
Ein Titel kann bis zu drei Kommentare enthalten.
1. Entweder werden die Titel mehrfach dargestellt.
Wobei jedes "Duplikat" ein anderen Kommentar erhält.
Werte sind eindeutig - Filter wird ausgeführt.
Nachteil: alle relevanten Spalten müssen
sowohl in der Abfrage als auch im Formular vorhanden sein.
Oder
2. Die Kommentare werden in einer Abfrage zusammen gefasst.
Jeder Titel ist einmal vorhanden - so wie es sein soll.
Nachteil: Nicht alle Werte sind eindeutig - Filter wird nur tw. ausgeführt.

Meine Versuche die Abfrage/n und den Code anzupassen blieben leider erfolglos.
Für meine mangelnden Access/VBA-Kenntnisse bitte ich um Entschuldigung.
Jetzt weiss ich wirklich nicht mehr weiter.

Wäre meganett, wenn Ihr mir weiterhelfen könntet.
Gruß! Tony
.

Beaker s.a.

Hallo Tony,

Dein Problem rührt von einem falschen Datenmodell her.

Die Kommentare sind als Aufzählungsfelder angelegt, das ist falsch. Diese
Felder gehören in eine eigene Tabelle. Die Zuordnung zu den Titeln kann dann
sowohl als 1:n-Beziehung angelegt werden (TitelFK in der Tabelle), oder als
n:m-Beziehung. Bei letzterer hättest du die Möglichkeit Kommentare mehrfach
zu verwenden.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: Beaker s.a. am Januar 16, 2026, 12:15:15Dein Problem rührt von einem falschen Datenmodell her.

Die Kommentare sind als Aufzählungsfelder angelegt, das ist falsch. Diese
Felder gehören in eine eigene Tabelle.
?
Soweit ich das bei einem kurzen Blick gesehen habe, sind die Kommentare doch in ihrer eigenen Tabelle.

Aus meiner Sicht liegt das Problem darin, dass die Kommentare in der Abfrage zu einem langen String zusammengefasst werden. - Das ist so aus meiner Sicht ein guter Ansatz.
Es bringt nur das Problem mit sich, dass die einzelnen Ids der Kommentare nicht in der Abfrage sind um man somit nicht einfach über eine Ausgabespalte der Abfrage filtern kann. Stattdessen braucht es eine Anpassung der Abfrage zur Laufzeit, die Zuordnung zu Kommentaren unabhängig von der Ausgabe filtert.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Zitatind die Kommentare doch in ihrer eigenen Tabelle.
Hier nicht.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: Beaker s.a. am Januar 16, 2026, 13:59:25Hier nicht.
OK, das ist jetzt die dritte verschiedene Version der Anwendung. :-/

@TonyMotion , du solltest mal erklären, was der Hintergrund der 3 verschiedenen Demos sind, die du hochgeladen hast. Die MusikTest10 bringt gleich so viele Fehlermeldungen, die auf den ersten Blick nicht mit deiner Fragestellung hier zu tun haben, dass ich sie gleich wieder zugemacht hatte.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

TonyMotion

.
Hallo Ihr Lieben!
Erst einmal, Vielen Dank für Eure Unterstützung.
Ich hoffe, es sind jetzt alle Fehler ausgeräumt.
Es gibt 2 Abfragen für das Formular:
1. abfrTitel2: enthält tatsächliche Anzahl (429) der Titel,
    KomFK's wurden in KomID zusammen gefasst,
    daher leider nicht alle Werte eindeutig,
    Filter von KomID nur tw. möglich.
2. abfrTitel3: enthält falsche Anzahl (452) der Titel,
    verschiedene Titel enthalten mehrere Kommentare,
    so sind diese auch bis zu 3mal vorhanden,
    alle Werte eindeutig,
    Filter von KomFK durchgehend möglich,
    Formular und Prozedur beziehen sich auf diese Abfrage.
Mein Wunsch wäre nun:
Die Abfrage im Formular auszutauschen und den entsprechenden
Code (kmbKommentar) oder Klassenmodule so anzupassen,
dass ein vollständiges Filtern aller KomID's möglich ist.
Und hier stoße ich endgültig an meine Grenzen.
Nochmals Vielen Dank für Eure Unterstützung.
Gruß! Tony
.

Knobbi38

Hallo Tony,

vielleicht solltest du erstmal deine Tabellen und Beziehungen i.O. bringen, bevor du mit Abfragen und der GUI weiter machst; erst muss dein Datenmodell passen.

  • Die KomFK Felder solltest du entgültig entfernen, so etwas muss nicht mehr weiter mitgeschleppt werden.
  • Die Zuordnungstabelle TitelKommentar enthält keinen Primärschlüssel und der Titel gehört da überhaupt nicht hinein. Außerdem gibt es keinen Unique-Key für TitelFK/KomFK
  • Stellt sich die Frage, warum es überhaupt so eine Tabelle braucht, denn normalerweise werden Kommentare doch nicht recycelt bzw. wiederverwendet, oder?
  • Mit der Tabelle Jahr bist du etwas über Ziel hinausgeschossen. Das Jahr kann man auch gleich in der Tabelle Titel aufnehmen, ein Lookuptabelle ist hier vollkommen überflüssig.

Nur mal so für den Anfang ...

Knobbi38

TonyMotion

.
Hallo Knobbi38 und alle Anderen!
Vielen Dank für Deine Hinweise.
Soweit es mein Verständnis und meine Kenntnisse zulassen,
habe ich versucht, diese auch umzusetzen.
Die KomFK-Felder (soweit nicht benötigt), tblTitelKommentar,
abfrTitel3 und abfrTitelKommentar3 wurden entfernt.
Es soll ja jetzt nach allen KomID's gefiltert werden.
Auch wenn es den hohen Ansprüchen eines Access-Gurus noch immer nicht genügt,
so möchte ich es bei diesem Entwurf belassen.
Diese DB ist eine Test-Version und wird nicht weiter genutzt.
Der "neue" Filter wird in einer anderen Datei eingesetzt.
Jetzt fehlen nur noch die entsprechenden Anpassungen.
Vielen Dank! Tony
.

Knobbi38

Hallo Tony,

ZitatAuch wenn es den hohen Ansprüchen eines Access-Gurus noch immer nicht genügt, ...

Es geht nicht darum, sondern darum, dass du verstehst, warum es mit einem fehlerhaften Datenmodell immer wieder zu Schwierigkeiten kommt, die es mit einem "richtigen" Datenmodell gar nicht erst gäbe. 

Erst wenn das Datenmodell richtig durchdacht ist, wobei es auch mehrere Möglichkeiten geben kann, können generische Filter und Filterklassen vernünftig funktionieren. Gerade wenn man so etwas wie Filter/Filterklassen testen möchte, sollte die Basis relativ solide sein.

Knobbi38

TonyMotion

#12
.
Hallo Kobbi38 und alle Anderen!
Hab' mal ein bißchen rumprobiert.
Dabei sind mir ein paar Fehler :o  aufgefallen.
Hier die korrigierte Version.
Gruß! Tony
.

Knobbi38

Hallo Tony,

dadurch wurde das Problem mit der Normalisierung der Tabellen nicht behoben.
Bezüglich der Kommentare habe ich dir das mal in dieser DB Version geändert. Eine n:m Beziehung brauchst es m.M.n. hier nicht, könntest du aber bei Bedarf dahingehen erweitern.

Knobbi38


TonyMotion

.
Hallo Knobbi38 und alle Anderen!
Vielen Dank für Deine Version der DB.
Mir ist aber nicht klar, welche Funktion KomID in tblKommentar hat.
Es ist ja ein Autowert.
Auch fehlt mir die Vorstellung, wie die Abfrage aussehen soll.
Hab' zwar eine erstellt, aber - siehe #3.
Wäre nett, wenn Du mir zeigen und/oder erklären könntest,
wie ein "richtiges" Datenmodell gestaltet werden muss.
Gruß! Tony
.