![]() |
Datenbank: Delphi4 • Version: 4 • Zugriff über: -
mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
Moin, moin,
ich baue mir gerade eine kleine Buchhaltung zusammen. Dabei habe ich eine Datei buchen.db, in die ich die Werte eingebe. Über den SELECT-Befehl kann ich die einzelnen Buchungen in einem DBGrid ausgeben: Beispiel: SELECT SUM(Treppenhausreinigung) FROM buchen WHERE Treppenhausreinigung<>0. Ich habe noch weitere Konten wie Versicherungen, Bankgebühren usw. in der Datei buchen.db. Nun suche ich eine Möglichkeit, die Summe aller Konten zu erfassen und die Gesamtsumme errechnen zu lassen. Da stehe ich zur Zeit auf dem Schlauch. Ich wäre froh, wenn mir da ein Coder helfen könnte. Danke und cui delphi01 |
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
Code:
Allerdings solltest Du mal Dein DB-Design überdenken. Anstatt die Werte alle in einen Datensatz zu packen solltest Du für jede Kostenart oder Konto einen Datensatz mit den Salden anlegen.
SELECT 'Treppenhausreinigung' AS Bezeichnung, SUM(Treppenhausreinigung) AS Kosten FROM buchen WHERE Treppenhausreinigung <> 0 GROUP BY 1
UNION ALL SELECT 'Versicherung' AS Bezeichnung, SUM(Versicherung) AS Kosten FROM buchen WHERE Versicherung <> 0 GROUP BY 1 UNION ALL ... |
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
übrigens:
Code:
ist das Gleiche wie
select sum(irgendwas) from tabelle where irgendwas <> 0
Code:
select sum(irgendwas) from tabelle
|
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
@ UNION,
ja, das DB-Design, aber ich weiß leider nicht, wie ich das ändern sollte. Ich habe eine Eingabemaske. Dort gebe ich Datum, Verwendungszweck, Betrag usw. in die Tabelle buchen.db ein. Kommt eine weitere Buchung, gehe ich im Index einen weiter und gebe die neue Buchung ein. Was sollte ich da nun ändern? Gruß delphi01 |
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
Wie sieht denn die Definition Deiner Tabelle aus? Am besten natürlcih als SQL-Script ;)
|
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
|
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
@ UNION,
ich habe mal Deinen Code eingegeben. Da kam die Fehlermeldung 'ungültiger Schlüsselbegriff' und das war bei dem Begriff 'ALL' Da ich in meiner Tabelle eine Spalte 'Gesamt' habe, habe ich das 'ALL' durch 'Gesamt' ersetzt, aber das ergab den gleichen Fehler. Die Struktur meiner Tabelle buchen.db ist: Beleg-Nr ist der Primärindex und sonst befinden sich in den Spalten die einzelnen Konten wie Bankgebühren, Treppenhausreinigung, usw. Gruß |
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
Dann lass evtl mal das ALL weg.
|
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
Dann meldet er den Fehler 'Unzulässiges Schlüsselwort' und bleibt hinter UNION stehen.
|
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
ich habe mir gerade deinen Crosspost durchgelesen
DBase !? konnte das überhaupt schon SQL? vielleicht wäre es gut, auf etwas neueres umzusteigen, Firebird? Da hat man dann auch weniger Probleme an kompetente Hilfe heran zu kommen. Gruß K-H |
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
DBase nicht, aber die BDE hat ja eine eigene SQL-Engine (gehabt)
|
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
Moin, moin,
nun bin ich wieder da, aber scheinbar gibt es keine neuen Erkenntnisse. @UNION, fällt Dir noch ein Möglichkeit ein, wie ich das Problem in den Griff bekomme? Das war ja soweit gut, nur das 'ALL' oder mein 'Gesamt' wollte das Programm nicht schlucken. Gruß |
AW: mit SELECT die Summe verschiedener Konten einer Datenbank addieren?
Wenn Du über die BDE gehst und diese keine UNION unterstützt hast Du leider schlechte Karten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz