LookUp-Filter kann nicht richtig gesetzt werden

16. September 2010 16:33

Hallo zusammen,

ich habe mal wieder ein Problem der etwas anderen Art :)

Und zwar sind wir gerade dabei, die Kampagnen-Funktion von NAV zu erweitern.
Hier sollen weitere Zuordnungen realisiert werden.
Das ist auch alles kein Problem soweit.

Doch an einer Stelle hänge ich.
Und zwar, wenn ich eine Mehrfach-Zuordung haben will (über 2 zusätzliche Tabellen, die neu eingerichtet wurden), die Auswahlmöglichkeiten jedoch von der Angabe eines Felds an der Kampagne abhängen sollen.
Und dann von dieser Zuordnung abhängig wiederum eine weitere Mehrfach-Zuordnung.
Ich beschreibe euch am Besten kurz etwas näher den Aufbau des ganzen Konstrukts :)

Neue Tabellen:

Tabelle 1 (Inhalte)
Code
Beschreibung

Tabelle 2 (Inhalte)
Code Tabelle 1 (Tablerelation)
Code
Beschreibung

Tabelle 3 (die Mehrfach-Zuordnung von Tabelle 2 zur Kampagne)
Kampagne Nr. (Tablerelation)
Code Tabelle 2 (Tablerelation)

Tabelle 4 (die Inhalte)
Code Tabelle 2 (Tablerelation)
Code
Beschreibung

Tabelle 5 (die Zuordnung von Tabelle 4 zur Kampagne)
Kampagne Nr. (Tablerelation)
Code Tabelle 4 (Tablerelation)

Erweiterung Tabelle Kampage:
Code Tabelle 1 (Tablerelation)
Anzahl Code Tabelle 2 (mit Count zählen)
Anzahl Code Tabelle 4 (mit Count zählen)

Die Forms und alles habe ich, da gibt's auch keine Probleme, das funktioniert alles wunderbar.

Also folgendes soll passieren:
- Es wird an der Kampagne ein Wert aus Tabelle 1 zugeordnet
- Es werden mehrere Werte aus Tabelle 2 zugeordnet (über Tabelle 3), jedoch über das Feld "Code Tabelle 1" will ich die Auswahlmöglichkeit gefiltert haben.
Sprich ich habe mehrere Werte in Tabelle 2, die einem Wert "a" aus Tabelle 1 zugeordnet sind. Einem Wert "b" aus Tabelle 1 sind auch mehrere Werte in Tabelle 2 zugeordnet.
Jetzt will ich, dass wenn ich "a" bei der Kampagne eingetragen habe, ich bei meinem LookUp in Tabelle 3 auf Tabelle 2 nur die Werte angezeigt bekomme, die eben "a" zugeordnet sind, den Rest nicht.

Bei der nächsten Stufe wird das dann noch witziger, weil ich dann ja den Filter auf mehrere Werte brauche, die ich zugeordnet habe.

Ich komme einfach nicht weiter.
Ich hab's schon mit Flowfields (LookUp auf das Feld "Code Tabelle 1" in der Tabelle Kampagne) in der Tabelle 3 versucht.
Diese werden allerdings erst berechnet, wenn der Datensatz auch tatsächlich angelegt ist, wäre zwar theoretisch eine Möglichkeit, aber so muss ich das anlegen von unvollständigen Datensätzen zulassen...

Also ich bin etwas am verzweifeln...
Geht das überhaupt, was ich mir da so toll ausgedacht habe? :)

Ich hoffe ihr versteht was ich meine.

Grüße, Jörg

P.S.: Ach ja, nach "Lookup programmieren" habe ich hier im Forum schon gesucht, das hilft mir nicht wirklich weiter was ich da so finde.

Re: LookUp-Filter kann nicht richtig gesetzt werden

24. September 2010 22:13

Das Beispiel ist so abstrakt, dass wir schwer folgen können.
Kannst du es mit einem konkreten Datenbeispiel wiederholen?

Re: LookUp-Filter kann nicht richtig gesetzt werden

25. September 2010 00:59

Was ihr da genau beabsichtigt habe ich zwar auch nicht verstanden :wink: , aber wenn die Anzahl der Datensätze nicht zu groß ist, versuche es doch mal über eine temporäre Tabelle. Die füllt man bei jeder Stufe komplett neu nach Bedarf und ruft sie dann auf.

Re: LookUp-Filter kann nicht richtig gesetzt werden

28. September 2010 14:13

Hi zusammen,

vielen Dank mal für die Antworten :)

Ok, war schon etwas abstrakt ;)

Ich will eine Funktionalität wie bspw. bei den Artikeln mit Artikelkategorie und der Produktgruppe.
Dort ist es ja so, dass bei der Produktgruppe über die Tablerelation ein Filter gesetzt wird.
"Product Group".Code WHERE (Item Category Code=FIELD(Item Category Code))

So, genau das will ich auch, allerdings kann ich an der gewünschten Stelle keinen Filter setzen.

Also, nächster Versuch mit einem konkreten Beispiel:

Ich habe 3 neue Tabellen:
- Methode (Dort sind eben Werbemethoden wie Medienwerbung, Außenwerbung usw. hinterlegt)
- Veröffentlichungsort (Dort sind diverse Veröffentlichungsorte hinterlegt mit Zuordnung zu den Methoden --> Feld mit Tablerelation auf Methode. Hier habe ich bspw. für Außenwerbung Plakatwand und Litfasssäule, für Medienwerbung Tageszeitung und Radio)
- Kampagne Veröffentlichungsort (Dort findet die Zuordnung von Veröffentlichungsorten zu Kampagnen statt)

So, jetzt habe ich an der Kampagne ein Feld, bei dem ich über eine einfache Tablerelation eine Methode zuordne.
Dann habe ich noch ein Count-Feld (wie bei den Verteilern bei Kontakten), das die zugeordneten Datensätze in der Tabelle "Kampagne Veröffentlichungsort" zählt.
Count("Kampagne Veröffentlichungsort" WHERE (Campaign No.=FIELD(No.)))
Über das ich eben einer Kampagne mehrere Veröffentlichungsorte zuordnen kann.

Soweit, so gut.

Nun will ich aber eben die Veröffentlichungsorte, die mir zur Auswahl gegeben werden, gefiltert haben nach der an der Kampagne hinterlegten Methode.
Sprich es sollte mir dann, wenn ich an der Kampagne Außenwerbung angegeben habe, nur noch Plakatwand und Litfasssäule abgezeigt werden.

Müsste ich nur einen einzigen Veröffentlichungsort zuordnen, wäre das kein Problem, dann könnte ich es ja lösen wie oben beschrieben bei den Artikeln.
Aber ich bekomme eben einfach um's Verrecken den Filter nicht hin.
Bzw. ich weiß auch nicht so recht, an welcher Stelle ich filtern müsste.

Oh Mann, ich weiß echt nicht, wie ich das genau beschreiben soll :(
Ich hoffe es wurde etwas klarer, auf was ich hinaus will.

Danke nochmal für eure Mühen.

Grüße, Jörg

Re: LookUp-Filter kann nicht richtig gesetzt werden

28. September 2010 14:35

Ich bin mir zwar auch nicht sicher, ob ich das richtig verstehe, aber man kann doch je nach einem Feldinhalt verschiedene Table Relations definieren. Beispiel wäre "No." in der Sales Line.