Hallo Jürgen, > > nach einigen Zwischenerfolgen beiße ich mir z. Zt. die Zähne bei der > Übertragung einer alten Kombination aus Abfrage und Report aus, die ich > vor >10Jahren in dBase (unter DOS) gebastelt hatte. > Basis ist eine Tabelle, die z.B. als Minihaushaltsbuch genutzt werden > kann. In der Tabelle befinden sich Einnahmen und Ausgaben, die 1 bis 12 > mal jährlich stattfinden. Damals hatte ich jede Zahlung eingegeben (am > Beispiel der Miete also 12x, bestimmte Versicherungen 4x den Betrag; > ginge sicher eleganter, funktioniert aber). > Für die Abfrage hatte ich einerseits in der Abfrage einen Zähler > "COUNT(Tabelle.Feld)" und ein Summenfeld "SUM(Tabelle.Feld) genutzt, > während ich im Report die Funktionen "Felder berechnen" mit den Optionen > "Anzahl" und "Summe" genutzt hatte, um die Anzahl der identischen > Postitionen innerhalb einer Zeile (genau: innerhalb einer Postenart, > also Gruppe), sowie die Summe aus der Anzahl und den jeweiligen Beträgen > zu errechnen. > In der Abfrage bekomme ich schon immer die Fehlermeldung "Not in > aggregate function or group by clause...." wenn ich irgendeinem Feld die > Funktion "Anzahl" oder "Summe" zuordne.
Die Datenbank möchte wissen, nach welcher Ordnung gezählt bzw. summiert werden soll. Wenn Deine Abfrage lautet: SELECT SUM(Feld) FROM Tabelle dann wird sie das schlucken und einfach alle Werte aus Feld aufaddieren - ergibt also einen Datensatz mit einer Summe über alles. Wenn dann aber kommt SELECT SUM(Feld), Feld2 FROM Tabelle Dann kommt obige Fehlermeldung. Ich weiß nicht, warum da keine Automatik drin ist, aber bei den Datenbanken, mit denen ich bisher Kontakt hatte, muss immer zusätzlich für alle Felder, die neben einem Funktionsfeld existieren, die Gruppierung gewählt werden: SELECT SUM(Feld), Feld2 FROM Tabelle GROUP BY Feld2 Feld2 habe z.B. die Einträge Miete, Taschengeld, Büromaterial SUM(Feld) gibt dann die summierten Beträge für Miete, Taschengeld und Büromaterial aus. > Im Report kann ich zwar Summen bilden und Anzahlen berechnen, dann > werden mir aber jeweils alle einzelnen Datensätze angezeigt, meine > Hoffnung, daß "Wiederholende Werte anzeigen" auf "Nein" setzen reichen > würde, um bei aufeinanderfolgenden gleichen Datensätzen je Fall nur eine > Zeile angezeigt zu bekommen, was im Beispiel der Miete, die abgesehen > vom Monat (1-12) jeweils identische Datensätze aufweist unter der alten > dBase-Anwendung kein Problem war, da ich dort in der Abfrage bereits > definieren konnte, ob Datensätze mit gleichem Inhalt in Feld "A" oder > "B" angezeigt werden sollen, oder nicht... > Gibt es vergleichbare Möglichkeiten auch in Base? Du meinst den Reportbuilder? Für eine entsprechende Summierung musst Du Gruppen Bilden. Dann wird im Gruppenfuß die Summierung sämtlicher Beträge aus der Gruppe ermittelt. Dafür müsstest Du im Berichtsnavigator tätig werden. Prinzipiell lässt sich das aber durch geschickte Abfrage schon innerhalb der Abfrage lösen, so dass Du bei Report mehr Freiheit in der Gestaltung hast. Gruß Robert --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
