PDA

Vollständige Version anzeigen : Verknüpfungseigenschaften (funktioniert nicht - s. Screenshot)


MC_Chris
26.04.2011, 14:31
Hallo zusammen,

folgendes Problem:

Aus meiner Tabelle tblStock sollen alle Werte angezeigt werden, die einen Preis haben (MinMaxPreis aus tblTrade).

Aus der Tabelle tblTrade_1 sollen alle Werte angezeigt werden, die über den Schlüssel StockID der Tabelle tblStock zugeordnet werden können. ABER: Wenn in tblTrade_1 kein Wert zum jeweiligen Schlüssel vorhanden ist, soll die Zelle leer bleiben. Um das zu bewerkstelligen, habe ich bei den Verknüpfungseigenschaften angegeben, dass immer ALLE Datensätze aus tblStock angezeigt werden sollen.

Für tblVermittlungen klappt das auch, aber für tblTrade_1 nicht. Ich erhalte keine leeren Zellen und somit anstelle von 70 möglichen Datensätzen nur 35.

Sieht jemand den Fehler? Ist die doppelte tblTrade bzw. tblTrade_1 das Problem?

Anbei das Ganze als Screenshot zum besseren Verständnis.

Vielen Dank.
Christian

Atrus2711
26.04.2011, 14:38
Hi,

die Inklusionsverknüpfungen (Pfeil-Linien) ändern nix daran, dass die StockID der Tabelle tblStock auch in tblTrade vorkommen muss. Und damit ist die doppelte Nennung der Tabelle tblStock für die Katz. Was da sein muss, kann nicht gleichzeitig nicht da sein.

Vielleicht hilft es, die Geschichte in zwei oder ggf. mehr Abfragen aufzubrechen: eine, die die StockIDs ermittelt, und eine, die diese StockIDs um weitere Angaben anreichert.

MC_Chris
26.04.2011, 14:47
Die Antwort verstehe ich nocht nicht ganz.

Das StockID in tblTrade vorkommt ist unproblematisch. Sobald ich die Tabelle tblTrade_1 weglasse erhalte ich alle gewünschten 70 Datensätze.

Nicht tblStock, sondern tblTade / tblTrade_1 existiert doppelt, da aus den Tabellen einmal die Daten "Kauf" und dann "Verkauf" herausgefiltert werden sollen...

Atrus2711
26.04.2011, 14:52
Sobald ich die Tabelle tblTrade_1 weglasse erhalte ich alle gewünschten 70 Datensätze.
Damit ist aber auch die Bedignung "Verkauf" für tblTrade_1 weg.

Und damit ist die doppelte Nennung der Tabelle tblStock für die Katz. Was da sein muss, kann nicht gleichzeitig nicht da sein.
Ja, das war ein Lapsus wegen StockID: ich meinte tblTrade/(_1). :eek: Für die Katz ist deren Dopplung aber dennoch, auch die Begründung stimmt.

MC_Chris
26.04.2011, 15:44
Die Lösung:

Sobald Kriterien vergeben werden, werden nur noch die Datensätze mit Kriterien angezeigt. Somit keine Leerzellen möglich.

Daher: 2 Abfragen machen, und dann zwischen den zwei Abfragen eine Verknüpfungseigenschaft setzten.

FUNZT

wb_3001
26.04.2011, 16:23
Hallo Christian.
Während Du antwortetest, habe ich mir auch etwas überlegt:

Mit den Beziehungen stimmt etwas nicht:

1. tblStock enthält eine Teilmenge von tblTrade, jene Datensätze also,
die einen Preis, wie immer der auch ausgewertet wird, enthalten.
2. tblStock muß alle Felder aus tblTrade enthalten, ergänzt um den kleinsten und größten Preis.
3. Die Beziehung von tblTrade zu tblStock ist wegen Punkt 1 entbehrlich.
4. tblStock ist zweimal in die Beziehungen aufzunehmen.
Einmal mit Vermittlungen und ein zweites Mal mit tblTrade_1.
In beiden Fällen alle Datensätze aus tblStock berücksichtigen.

Damit würdest Du den gewünschten Effekt auch erzielen.

Wolfgang