Neuigkeiten:

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

Mobiles Hauptmenü

Donkarl 3.16 erweitert?

Begonnen von datekk, Februar 01, 2017, 11:56:55

⏪ vorheriges - nächstes ⏩

datekk

Hi, ich beziehe mich mal auf Donkarl 3.16.
http://www.donkarl.com?FAQ3.16


Gern hätte ich diese Abfrage um ein weiteres Kriterium erweitert. Ausgangspunkt ist ja

SELECT A.*
FROM A LEFT JOIN B ON A.Id = B.Id
WHERE B.Id Is Null

Bedeutet, kommt die ID in Tabelle B vor, wird der entsprechende Wert in A nicht angezeigt.

Ich habe folgende Situation: Ich habe eine Kundentabelle. Ich möchte nun Kunden Kategorien zuweisen. Hierfür gibt es eine Tabelle mit den Kategorienamen und eine Tabelle in der mit der die KundenId mit der KategorieId verknüpft wird.

In meinem Kundenformular ist ein ungebundenes List-Feld, welches die dem Kunden zugeordneten Kategorien anzeigt. Zur Auswahl der Kategorien habe ich ein Kombi-Feld. Nun möchte ich aber, dass dieses Kombifeld nur Kategorien anzeigt, die diesem Kontakt noch nicht zugewiesen sind.

Donkarls Beispiel müsste also noch um das Kriterium der ID des Kontakts erweitert werden. Und dies gelingt mir nicht.

Mit Donkarls Beispiel würden, wenn z.B. Kategorie1 einem Kunden zugeordnet ist, bei einem anderen Kunden die Kategorie1 nicht mit angzeigt werden, obwohl sie nur in einem anderen Kontakt vergeben wurde und für diesen Kunden noch nicht, also noch verfügbar sein müsste..

Ich hoffe Ihr wisst, was ich meine.

Wie könnte ich also in o.g. Beispiel noch die Id des aktuellen Kontakts als Kriterium einfügen?
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

Beaker s.a.

Hallo datekk,
Bin mir nicht sicher, aber ich nehme an, dass du da ein Subselect bemühen musst.
SELECT K.KatID, K.KatName
FROM tblKat AS K
WHERE K.KatID Not In
(SELECT KundenID_F FROM tblKundeZuKat AS KK WHERE KK.KundenID_F = Forms.frmKunden.KundenID)

(Luftcode, Namen anpassen)

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)

ebs17

Man sollte hier zuerst die Idee verstehen und erst danach an die technische Umsetzung:

Noch nicht zugewiesene Kategorien ergeben sich aus allen Kategorieren (vollständige Menge) abzüglich der vorhandenen Zuweisungen.
Vollständige Menge ist die Kategorientabelle, vorhandene Zuweisungen findet man in der Verknüpfungstabelle, gefiltert auf jeweils die gewünschte Person. Das war es schon, wenn man sich auf die Schlüssel beschränkt, und man kann genau die genannte Abfragekonstellation auf diese Tabellen anwenden.
Mit freundlichem Glück Auf!

Eberhard