Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage wenn mehrere kriterien erfüllt dann datensatz nur einmal anzeigen

Begonnen von Don, September 20, 2022, 16:25:36

⏪ vorheriges - nächstes ⏩

Don

Hallo zusammen, ich habe folgendes Problem. Eine Abfrage filtert Kunden nach mehreren Kriterien und gibt die Kunden dann an ein Endlosformular. Soweit so gut. Aus optischen Gründen hätte ich es nun gerne so, daß ein Kunde, der mehrere Kriterien erfüllt nur einmal in der Liste erscheint. Geht das überhaupt?
danke vorab
Don

MzKlMu

Hallo,
nein, geht nicht, der Kunde wird so oft angezeigt wie es Kriterien gibt.
Da aber Abfragen ohnehin zur direkten Ansicht nicht vorgesehen sind, spielt das aber keine Rolle.
Im vorliegenden Fall würde man den Kunden in einem Hauptformular anzeigen und die Kriterien dazu in einem Unterformular.
Zeige mal ein Bild des Beziehungsfensters.
Gruß Klaus

markusxy

Zitat von: Don am September 20, 2022, 16:25:36nur einmal in der Liste erscheint

Klar, musst nur die Abfrage entsprechend anpassen - sprich die Werte müssen entsprechend aggregiert werden.

MzKlMu

Hallo,
ZitatKlar, musst nur die Abfrage entsprechend anpassen
Wenn er aber die Kriterien sehen will (was ich annehme) nutzt das aggregieren nichts.
Gruß Klaus

markusxy

Zitat von: MzKlMu am September 20, 2022, 16:42:05Hallo,
ZitatKlar, musst nur die Abfrage entsprechend anpassen
Wenn er aber die Kriterien sehen will (was ich annehme) nutzt das aggregieren nichts.

Na ja, gehen tut grundsätzlich alles. Ist nur eine Frage der Darstellung, oder?

MzKlMu

Hallo,
ZitatIst nur eine Frage der Darstellung
Sag ich doch, Hafo mit Ufo.
Gruß Klaus

PhilS

Zitat von: MzKlMu am September 20, 2022, 16:42:05Wenn er aber die Kriterien sehen will (was ich annehme) nutzt das aggregieren nichts.

Was genau sind denn diese "Kriterien"? - Ihr scheint hier einen unausgesprochenen Konsens zu haben, der nicht meinem Verständnis von Kriterien entspricht.

Mehrfache Datensätze in einer Ergebnismenge entstehen ja meist durch Joins in 1:N-Beziehungen. Das hat aber nicht direkt und zwingend etwas mit Kriterien zu tun.

@Don, poste doch mal das SQL deiner Abfrage hier, damit man sich ein korrektes Bild davon machen kann.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

In einer Kundentabelle gibt es Kunden nur einfach, hoffentlich.
Per Filtern über Abfrage erfolgt nur eine Reduzierung der Anzeige, aber doch nicht eine Vervielfältigung. Letztere erreicht man nur über explizite Maßnahmen wie JOIN's. Diese sollten einem aber bewusst sein, wenn man sie einsetzt.
Mit freundlichem Glück Auf!

Eberhard

Don

Hallo zusammen,
vielen Dank für die zahlreichen Antworten, komme leider nur gelegentlich dazu an der DB weiterzuarbeiten. Hier der SQL Code:

SELECT tbl_Firma.ID_Firma, tbl_Firma.Firma_Kontakt, tbl_Firma.PLZ, tbl_Firma.Ort, tbl_Firma.Strasse, tbl_Firma.[angelegt am], tbl_Firma.[Rufnummer Kontakt], tbl_Firma.Webseite, tbl_Firma.Commitment, tbl_Firma.letzte_Aenderung, tbl_Firma.nächste_Aktion, tbl_Firma.Branche, tbl_Firma.Region, tbl_Firma.[Infos DA], tbl_call_Firma.ID_call, tbl_call_Firma.ID_Firma, tbl_call_Firma.Datum, tbl_call_Firma.Ergebnis_Kunden_call, tbl_call_Firma.Notizen, tbl_call_Firma.Followup, tbl_Firma.Uhrzeit, tbl_call_Firma.Telefonat, tbl_Firma.DA_Link, tbl_Firma.Call_bei_Gelegenheit
FROM tbl_Firma INNER JOIN tbl_call_Firma ON tbl_Firma.ID_Firma = tbl_call_Firma.ID_Firma
WHERE (((tbl_Firma.nächste_Aktion)<=Date()) AND ((tbl_call_Firma.Ergebnis_Kunden_call)<>"DA - machen") AND ((tbl_call_Firma.Followup)=True) AND ((tbl_Firma.Call_bei_Gelegenheit)=False))
ORDER BY tbl_Firma.nächste_Aktion, tbl_call_Firma.Datum;

Danke vorab
VG Don

ebs17

...
FROM tbl_Firma INNER JOIN tbl_call_Firma ON tbl_Firma.ID_Firma = tbl_call_Firma.ID_Firma
...
Bei einer 1:n-Beziehung, nachgeahmt durch den JOIN, ist es zwingend so, dass Anteile aus der Primärtabelle vervielfältigt werden, entsprechend der Anzahl der Schlüsselentsprechungen in der Sekundärtabelle.

Das kannst Du nur ändern, indem Du
- in der Sekundärtabelle nur genau einen Datensatz vorkommen lässt, also quasi das Ganze in 1:1 umfunktionierst
- die Datensätze der Sekundärtabelle per Gruppieren/Aggregieren auf jeweils einen pro Primärschlüssel reduziert werden
- die Anzeige in der Form verlegst, dass die Primärtalle in einem Hauptformular angezeigt wird und die Sekundärtabelle in einem verknüpften Unterformular.
Mit freundlichem Glück Auf!

Eberhard