Hallo Frank!
Zitat geschrieben von macemmi
Also zunächst einmal finde ich den Titel unangebracht. Er weckt den Anschein als hinterließe das Löschen eines Kontos ein komplettes Datenchaos. Das ist aber nicht richtig. In der Regel möchte man die Umsätze ja behalten, wenn man ein Konto löscht (z.B. weil man die Bank gewechselt hat) da einem ansonsten die komplette Historie verlorengeht.
Du hast Recht — ich bitte um Entschuldigung. Im Nachhinein kommt mir der Titel auch "reißerischer" vor als er beabsichtigt war.
Es war halt einfach die Situation, dass offenbar alle Umsatzzahlen in den Kategorien unwiederbringlich strubbelig sind; deshalb habe ich ja auch hier um Hilfe gefragt.
Möglicherweise wäre es auch sinnvoll, ein
aufgehobenes Konto nicht ganz zu "löschen", sondern zu "deaktivieren" — dann wäre es z.B. ausgegraut in der Liste, wenn ein Zeitraum selektiert ist, in dem es nicht existiert (nur mal so ins Unreine gesprochen).
Zitat geschrieben von macemmi
Allerdings habe ich - zugegebenermaßen - an so einen Fall wie deinen nicht gedacht. Ich werde also in Zukunft eine Abfrage einbauen, ob die Umsätze mit Kategoriezuordnung mitgelöscht werden sollen.
Das wäre vermutlich eine sinnvolle Erweiterung, die auch nicht allzuviel Mühe bei der Implementierung bereiten sollte. Die oben genannte Alternative mit dem Deaktivieren wäre dagegen deutlich aufwendiger.
Zitat geschrieben von macemmi
Theoretisch könnte man die Umsätze mit Datenbankmitteln löschen. Das ist allerdings nicht so einfach und ich würde dir dringend abraten es zu versuchen.
SQL wäre grundsätzlich nicht das Problem. Ich hatte bisher nur noch nicht die Gelegenheit, die CoreData-/DB-Struktur zu "reverse engineeren", um das passende Delete-Statement zusammenzustricken.
Im übrigen kann man ja vorher ein Backup der DB anlegen oder Time Machine nutzen, falls die Aktion in die Hose geht.
Zitat geschrieben von macemmi
Wenn du noch nicht so lange mit Pecunia arbeitest kannst du die Daten ja neu aufsetzen. Wenn doch könnte ich dir anbieten eine Supportversion zu erstellen, die die "falschen" Umsätze löscht.
Wie gesagt – eine Info über das passende SQL-Delete wäre vermutlich für Dich mit dem geringsten Aufwand verbunden.
Noch etwas: Ist es angedacht, zwischen mehreren Datenbanken (Benutzern) umzuschalten? Theoretisch könnte man das ja vor Programmstart durch Verschieben der Datenbankdatei erreichen, nur die anderen Einstellungen würden dann bestehen bleiben, etwa die Regeln. Oder?
Danke & Gruß — Stefan