PDA

Vollständige Version anzeigen : Berechneter Graph für Diagramm


Streetshark
11.05.2004, 10:26
Hallo zusammen

Ich möchte ein Diagramm erstellen, dessen Graph berechnet werden soll.
Im Diagramm geht es um Messwerte in einer ARA.
Pro ARA habe ich ein Diagramm, in dem es 2 Graphen hat. Der eine soll nur angezeigt werden, wenn der Wert "XY" in der Tabelle "TblARAStammdaten" für die jeweilige ARA = 1 beträgt. Ansonsten soll der 2. Graph angezeigt werden.

Wie kann ich nun diese Bedingung setzen?

Red
11.05.2004, 11:37
Hi Streetshark

So ganz verstehe ich nicht wie deine Tabellen aussehen, aber mit einer Abfrage solltest du das hinkriegen.

SELECT DeineTabelle.Feld1, IIf([Feld1]=1,[Feld2],"0") AS X
FROM deine Tabelle;

Diese Abfrage gibt dir in jedem Datensatz den Wert aus Feld2, wenn Feld1 = 1

Vielleicht hilfts.

Streetshark
11.05.2004, 13:44
Ich habe versucht, deine Vorgabe in meinen Code einzubauen. Leider erhalte ich die Fehlermeldung "Sie wollten eine Abfrage erstellen, die den angegebenen Ausdruck 'meine IIF()' nicht als Teil der Agregatfunktion einschliesst." :confused: :confused: :confused:

Mein SQL-String sieht folgendermassen aus:

SELECT T10.[10_Datum], IIf([TblStammdaten]![ARA_PNSzu]=1,[T10]![10_Qtot]*[T10]![10_BSBc]*0.001/0.06,[T10]![10_Qtot]*[T10]![10_BSBc]*0.001/0.05) AS Wert, TblStammdaten.ARA_PBioRW
FROM T10 INNER JOIN TblStammdaten ON T10.[10_ARANr] = TblStammdaten.ARA_Nr GROUP BY T10.[10_Datum], TblStammdaten.ARA_PBioRW, Year([10_Datum])
HAVING (((Year([10_Datum]))>=2000 And (Year([10_Datum]))<=2003))
ORDER BY T10.[10_Datum];

Red
11.05.2004, 14:25
Hm...

Ich sehe den Fehler nicht. Kannst du die DB hochladen?

Streetshark
11.05.2004, 15:05
Leider nicht, da sie viel zu komplex ist. Selbst die zip-Datei.... :(

Arne Dieckmann
11.05.2004, 15:12
Die Fehlermeldung sagt doch eigentlich schon alles: Alle Felder, die bei einer gruppierenden Abfrage angezeigt werden sollen, müssen ebenfalls gruppiert werden. Also muss auch der IIF-Ausdruck (mit Alias "Wert") unter den Gruppen auftauchen.

Streetshark
12.05.2004, 16:00
:confused:
Tja tut mir leid, doch nun weiss ich nicht viel mehr als zuvor.

Welche gruppierungen sind hier gemeint?

Arne Dieckmann
12.05.2004, 16:48
Ein Ausschnitt aus der SQL-Ansicht Deiner Abfrage:

GROUP BY T10.[10_Datum], TblStammdaten.ARA_PBioRW, Year([10_Datum])
HAVING (((Year([10_Datum]))>=2000 And (Year([10_Datum]))<=2003))
ORDER BY T10.[10_Datum];

Schau Dir die Abfrage im Entwurf an. Dort dürfte bei einigen Feldern in der Zeile "Funktion" so etwas wie "Gruppierung" stehen. Vielleicht brauchst Du die auch gar nicht? Dann schalte sie über Ansicht/Funktionen wieder ab.