Mehrere Fragen ;)

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Mehrere Fragen ;)

Beitrag von Sebi1984 »

Hallo zusammen,
ich bin neu hier und habe hier auch schon viel gelesen, nur leider keine Antworten auf meine Fragen gefunden. Hoffe daher das ihr mir weiter helfen könnt ;) .

Also meine erste frage ist:
Kann über ein Eingabeformular in mehre tabellen eingeben?
Hier meine Idee die ich umsetzten möchte -> Ich möchte gerne meine Ausgaben genauer protokollieren und somit habe ich mir jetzt 3 Tabellen angelegt.

--> Lebensmittel
--> Haushalt
--> Auswärtiges

Wenn ich jetzt aber ein Eingabeformular anlege, kann ich ja nur eine Tabelle auswählen und müsste somit auch 3 Eingabeformulare anlegen.
Hat jemand eine Idee wie ich das kombinieren kann bzw. wie ich eine Auswahl einbauen kann?


Zu meiner zweiten Frage:
Kann ich wie im Calc auch eine Autosummer einbauen die mir das von der jeweiligen Tabelle zusammen rechnet und eine gesamt Summer aller Ausgaben?
Ich habe mir in der Ansicht schon versucht etwas zusammen zu basteln mit nur einer Tabelle aber selbst das klappt nicht -.- .


Und meine dritte Frage:
Wie bekomme ich eine Verknüpfung von dem Eingabeformular auf meinen Desktop ohne jedes mal die Datenbank öffnen zu müssen?

Ich hoffe das Ihr mir bei meinen Problemen helfen könnt und schon mal ein ganz großes Dankeschön im vorraus.
Gruß Sebi


EDIT:
Habe noch vergessen zu sagen, dass ich ein Neuling in Base bin. Daher bitte etwas einfacher erklären. Danke ;)
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Mehrere Fragen ;)

Beitrag von juetho »

Hallo und willkommen im Forum,

grundsätzlich solltest du die Regel beachten, dass für jedes Problem eine eigene Diskussion eröffnet werden soll. Sonst werden die Diskussionen sehr schnell sehr unübersichtlich und verwirrend. Für diese allgemeine Einführung laufen auch die Antworten zusammen; deshalb kann man das noch hinnehmen.
Sebi1984 hat geschrieben:Kann über ein Eingabeformular in mehre tabellen eingeben?
Ja. Ein Eingabeformular kann mehrere Unterformulare (und Unter-Unter-Formulare usw.) enthalten. Jedes Teilformular kann als Datenquelle eine eigene Tabelle nutzen. Anstelle von Tabellen können auch Abfragen oder direkte SQL-Befehlen als Datenquelle benutzt werden.
Kann ich wie im Calc auch eine Autosummer einbauen die mir das von der jeweiligen Tabelle zusammen rechnet und eine gesamt Summer aller Ausgaben?
Eigentlich geht das nicht. Aber in SQL-Befehlen kann die SQL-Funktion SUM (und andere) eingebaut werden. Dann kann mit einem Makro die Summe berechnet, abgefragt und angezeigt werden. Mit einem Makro kann man auch direkt Werte in der Datenmenge summieren.
Wie bekomme ich eine Verknüpfung von dem Eingabeformular auf meinen Desktop ohne jedes mal die Datenbank öffnen zu müssen?
Dafür hat jedes Teilformular bei seinen Eigenschaften das Register "Daten". Das Formular (genauer: Base) stellt die Verbindung zur Datenbank in der Regel selbst her.
Ich hoffe das Ihr mir bei meinen Problemen helfen könnt und schon mal ein ganz großes Dankeschön im vorraus.
Du solltest dich unbedingt mit den Handbüchern beschäftigen: bei den "ersten Schritten" die Einführung und dann (weit nach unten scrollen) das vollständige Base-Handbuch.

Gruß Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Mehrere Fragen ;)

Beitrag von RobertG »

Hallo Sebi,

ich steige einmal mit dem ersten Problem ein;
Sebi1984 hat geschrieben:Hallo zusammen,
Kann über ein Eingabeformular in mehre tabellen eingeben?
Hier meine Idee die ich umsetzten möchte -> Ich möchte gerne meine Ausgaben genauer protokollieren und somit habe ich mir jetzt 3 Tabellen angelegt.
--> Lebensmittel
--> Haushalt
--> Auswärtiges
Bei einem Aufbau der Tabellen solltest Du nach folgendem Grundsatz verfahren:
- Versuche zuerst, alle Informationen in einer Tabelle zusammen zu fassen.
- Schau nach, welche Informationen in Feldern besonders oft doppelt, dreifach oder noch häufiger wiederholt vorkommen.
- Gliedere dieses Feld aus und lasse in der Haupttabelle nur noch die Nummer des Primärschlüssels stehen.

Für Dein Beispiel: Du hast Ausgaben.
1. Tabelle "Ausgaben" zusammen schreiben. Ob "Ausgaben" der richtige Name ist, vielleicht besser "Finanzen"?
2. Du siehst, dass Du nach Kategorien unterscheiden willst (Lebensmittel, Haushalt, Auswärtiges ...) - Tabelle "Kategorien" ausgliedern.
3. In Tabelle "Ausgaben" statt der Kategorien ein Feld "KategorienID" zurücklassen, das den Primärschlüssel von "Kategorien" als Fremdschlüssel" aufnimmt.

Wenn Du das so machst, dann hast Du im Formular neben den normalen Eingaben ein Feld, aus dem Du am besten ein Listenfeld machst: "KategorienID". Das Listenfeld stellt dann "Kategorien" dar, schreibt aber "KategorienID" in die Tabelle.
Sebi1984 hat geschrieben: Zu meiner zweiten Frage:
Kann ich wie im Calc auch eine Autosummer einbauen die mir das von der jeweiligen Tabelle zusammen rechnet und eine gesamt Summer aller Ausgaben?
Ich habe mir in der Ansicht schon versucht etwas zusammen zu basteln mit nur einer Tabelle aber selbst das klappt nicht -.- .
Das erreichst Du über eine Abfrage. Zuerst sollte aber das Formular vernünftig laufen. Dann baust Du einfach eine Abfrage, die alle Felder des Formulars enthält und als korrelierende Unterabfrage eine, die die Summe zu jeder Kategorie erstellt.
Sebi1984 hat geschrieben: Und meine dritte Frage:
Wie bekomme ich eine Verknüpfung von dem Eingabeformular auf meinen Desktop ohne jedes mal die Datenbank öffnen zu müssen?
In dem Falle müsstest Du mit einem Formular in Writer arbeiten. Dann kannst Du auf dem Desktop das Formular als Writer-Datei liegen haben. Die Datenbank wird dann unsichtbar im Hintergrund geöffnet und wieder geschlossen. Prinzipiell besteht die Möglichkeit, Formulare aus Base schließlich extern als Writer-Datei abzuspeichern. Aber zuerst würde ich einmal sehen, dass das ganze so läuft.
Eine Hilfe auf dem Weg dahin könnte sicher das Base-Handbuch sein: http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - etwas nach unten scrollen.

Gruß

Robert
Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Re: Mehrere Fragen ;)

Beitrag von Sebi1984 »

Hallo und vielen Dank für eure Antworten.

@ juetho, mir haben deine Antworten auf jedenfall schon mal weitergeholfen aber leider weiß ich nicht wie ich dies umsetzten kann.
Wie gesagt, ich bin neu in diesem Bereich, aber ich werde mich in der nächsten Zeit mit dem Handbuch auseinanderstzten. Vielen Dank dafür erstmal.


@ RobertG, kannst du mir das ganze etwas einfacher bzw step by step erklären?

Oder kann mir jemand sagen, ob ich ein Feld erstellen kann wo ich auswählen kann in welche Tabelle es geschrieben wird?
Geht sowas?

Gruß Sebi
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Mehrere Fragen ;)

Beitrag von juetho »

Sebi1984 hat geschrieben:@ RobertG, kannst du mir das ganze etwas einfacher bzw step by step erklären?
Wozu? Genau dafür gibt es die Handbücher. Es ist nicht angemessen, dass Robert oder sonst jemand Teile hierher kopiert, die du selbst nachlesen kannst. Du musst doch sowieso selbst ausprobieren, bis du etwas verstanden hast. Warum gehört das erste Handbuch wohl zum Abschnitt "Erste Schritte"?
Oder kann mir jemand sagen, ob ich ein Feld erstellen kann wo ich auswählen kann in welche Tabelle es geschrieben wird?
Geht sowas?
Nein, so geht das nicht. Grundlage ist eine Datenbank, diese enthält Tabellen, und diese bestehen aus Spalten/Feldern. Zuerst muss die Datenbank erstellt werden (das geht sozusagen automatisch durch Base). Dann werden eine oder mehrere Tabellen erstellt/definiert; das geht in der Regel durch "Tabelle in der Entwurfsansicht erstellen"; dabei werden Spalten/Felder einer bestimmten Tabellen definiert. (Der Assistent kann dafür auch verwendet werden, passt aber höchstens dann, wenn eine der vorbereiteten Sammlungen für den eigenen Zweck geeignet ist.)

Die Kontrollfelder in einem Formular "benutzen" die so definierten Tabellen und Spalten. Im Register "Daten" eines (Unter-) Formulars wählst du die Tabelle aus, auf die dieses Formular zugreift. Im Register "Daten" der Kontrollfeld-Eigenschaften wählst du aus, mit welchem Feld dieser Tabelle das Kontrollfeld verbunden wird; aber das Tabellenfeld muss vorher definiert sein.

Das Ganze ist hierarchisch aufgebaut:
  • Datenbank > Tabellen (sowie Ansichten und Abfragen) > Spalten/Felder (das sind bei Datenbanken gleichwertige Begriffe)
  • Formular-Dokument > Hauptformular/e > Unterformular/e > Unter-Unterformular/e > Kontrollfelder
Aber du kommst wirklich nicht umhin, dich systematisch einzuarbeiten - vor allem wenn/weil du Neuling in Base bist. Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Re: Mehrere Fragen ;)

Beitrag von Sebi1984 »

Hallo Jürgen,

wow, so schwer hatte ich mir es nicht vorgstellt :( .
Ich werde mich jetzt auf jedenfall erts mal mit dem Handubuch auseinandersetzten und ausprobieren.
Vielen Dank trotzdem für euere Antworten und die Links zu den Handbüchern.
Das ganze wird jetzt erst mal viel Zeit in anspruch nehmen, ich melde mich wieder wenn ich Fragen habe.

Trotzdem vielen Dank.

Gruß Sebi
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Mehrere Fragen ;)

Beitrag von pmoegenb »

Hallo Sebi,
weshalb möchtest Du das Rad neu erfinden ?

Schau Dir einfach mal GnuCash an. Mit dieser Software hast das Gewünschte.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
MaddinR
***
Beiträge: 61
Registriert: So, 06.03.2011 11:15

Re: Mehrere Fragen ;)

Beitrag von MaddinR »

Sebi1984 hat geschrieben:Ich möchte gerne meine Ausgaben genauer protokollieren und somit habe ich mir jetzt 3 Tabellen angelegt.

--> Lebensmittel
--> Haushalt
--> Auswärtiges
:::
Kann ich wie im Calc auch eine Autosummer einbauen die mir das von der jeweiligen Tabelle zusammen rechnet und eine gesamt Summer aller Ausgaben?
Hallo Sebi

Das geht alles problemlos. Ich habe exakt das realisiert. Zunächst aber mal nur ein paar grundsätzliche Gedanken zum Lösungsansatz.

Deine Kosten für "Lebensmittel, Haushalt, Auswärtiges" sind eigentlich keine eigenen Tabellen, sondern wären viel besser nur als einfache Kostenstellen zu betrachten, auf denen sich im Lauf einer Zeit viele einzelen Summen ansammeln. Stell Dir dazu eine einzige Umsatz-Tabelle vor, in der untereinander vollständig alle Ausgaben und alle Einnahmen aus allen möglichen Kosten- oder Einnahmequellen gesammelt werden und aufgelistet sind, jeweils mit Datum, Verwendungszweck, Empfänger, Betrag, etc..... eben alles was man so braucht - also sowohl Minus-Beträge (Kosten) als auch Plus-Beträge (Einnahmen). Und dazu noch ein zunächst leeres Feld mit dem Inhalt "Kostenstellen-Nr."

Stell Dir eine zweite Tabelle vor, die einen Kostenstellenplan enthält, also jeweils einen einzigen Datensatz mit einer festgelegten Kostenstellen-Nummer z.B. für Lohn/Gehalt, Erstattungen, Strom, Wasser, Miete, KFZ, Lebensmittel, Rundfunk/INet/Telefon, was weiss ich, was es da noch alles gibt. In diesem Plan hat jede Kostenart eine eigene festangelegte unveränderliche Kostenstellen-Nr. Nachdem man diese Tabelle einmalig angelegt hat und festgestellt hat, dass es von nun an keine weiteren Kostenstellen gibt, ändert man da eigentlich nichts mehr dran.... die bleibt dann durchaus über längere Zeit konstant so bestehen.

Du brauchst nun nur noch ein Programm, mit dem Du in jeden neuen Datensatz aus der Umsatztabelle einmalig die jeweilige Nr. aus der Tabelle Kostenstellenplan übernimmst.... und fertig. Ab dann kannst Du wunderbar über den Datenpilot im Calc Deine Kostendaten auswerten, summieren, zusammenstellen, saldieren, planen, usw. usw.... für Monatszeiträume, oder Jahre, zur Saldierung, für Prognosen, für die Ermittlung von Rückstellungen, usw. usw.

Als ich damals angefangen bin, waren die beiden Datenbanken in diesem Artikel viewtopic.php?f=8&t=47915&p=174454&hili ... m2#p174454 dafür die Basis... schau Dir das als Muster mal an.... ich denke, die könnten Dir für den Anfang erst mal weiterhelfen....

vg, Maddin
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Mehrere Fragen ;)

Beitrag von RobertG »

Hallo Sebi,

ich nehme an, dass Du mit Deinem Vorhaben das Prinzip "Datenbank" erlernen willst, um gegebenenfalls auch etwas anpassen zu können, einfach nur ein Programm zu kapieren usw. So ein, ich nenne es einmal Haushaltsbuch, ist dafür sicher gut geeignet - wenn Du nicht gleich die große Finanzverwaltung haben willst, sondern nur wissen möchtest, wo denn Dein Geld im Monat geblieben ist.

Ich habe einmal schnell ein Beispiel zusammengeklickt, wie es von der Struktur her funktionieren könnte:
Sieh' Dir zuerst die Tabellen an. Es gibt eine Haupttabelle, in der so etwas wie der Buchungstext, der Betrag und das Datum fest gespeichert sind. Die Kategorien und das Konto stehen da nur als ID. Wie die Tabellen miteinander verbunden sind erfährst Du über Extras → Beziehungen.
Den Inhalt für die Tabellen "Kategorie" und "Konto" musst Du direkt eingeben. Das Primärschlüsselfeld ist dort eine einfach ganze Zahl - ich habe das nicht als AutoWert ausgelegt.
Dann wolltest Du ein Formular haben, in dem Du alles zusammen eintragen kannst und außerdem auch noch die jeweiligen Summen sehen kannst. Dafür habe ich erst einmal eine Abfrage erstellt. An der Stelle ist das Ganze nicht mehr so trivial - im Handbuch steht das Ganze unter "Korrelative Abfrage". Hier solltest Du Dich wirklich sachkundig machen und mit den Abfragemöglichkeiten einmal rumspielen, wenn Du die ersten Werte eingetragen hast. Diese Abfrage funktioniert zur Zeit nicht mit LO 4.0 - also eine ältere Version nutzen!
Eingaben werden nicht in der Abfrage erledigt sondern im Formular. Da habe ich die einfachste Variante gewählt und aus den Feldern für die Kategorie_ID und die Konto_ID entsprechende Listenfelder gemacht.
Nehm's auseinander, stell Fragen, lass Dich nicht auf fertige Lösungen ein, die Du nicht verstehst - wenn Du die Datenbank selbst verstehen und dabei auch etwas lernen willst.

Gruß

Robert
Dateianhänge
Privatfinanzen.odb
Einstiegsdatei zu einem Haushaltsbuch
1. korrigierte Version mit Eingabemöglichkeit und Berechnung im Formular.
(12.57 KiB) 187-mal heruntergeladen
Zuletzt geändert von RobertG am So, 03.03.2013 11:46, insgesamt 1-mal geändert.
Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Re: Mehrere Fragen ;)

Beitrag von Sebi1984 »

pmoegenb hat geschrieben:Hallo Sebi,
weshalb möchtest Du das Rad neu erfinden ?

Schau Dir einfach mal GnuCash an. Mit dieser Software hast das Gewünschte.

Hallo pmoegnb,

vielen Dank für den Link, nur leider ist das nicht das richtige was ich suche. Bzw komme ich auch nicht wriklich mit dem Programm zurecht.

Gruß Sebi
Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Re: Mehrere Fragen ;)

Beitrag von Sebi1984 »

Hallo Robert,

da muss ich dir mal ein dickes Lob aussprechen ;) . DU hast den Nagel auf den Kopf getroffen ;) .
Die Datenbank die du erstellt hast ist schon super, ich weiß nur nicht was ich in den letzten drei Zeilen eintagen soll?
Ansosten ist das schon nahe zu perfekt :D .

Ich schaue mal das ich mir die Tabellen noch etwas zu recht schneide.
Kannst du mir sagen ob ich das Formula auch in einer anderen Ansicht erstellen kann?
So das ich z.B. nur die Eingabefelder habe und nicht die Listenansicht?

Vielen herzlichen Dank noch mal für deine Arbeit ;)

Gruß Sebi
Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Re: Mehrere Fragen ;)

Beitrag von Sebi1984 »

So ich habe es jetzt so schon geschafft ein Formular mit einer andere Ansicht zu erstellen.
Jetzt habe ich das Problem, das ich bei Kategrie und Konto nur die ID´s also die Zahlen stehen habe ( siehe Bild ).
Ich würde da aber gerne den Namen der dann da stehen haben, geht das auch?

Gruß Sebi
Dateianhänge
Formular
Formular
Formular.jpg (214.66 KiB) 7190 mal betrachtet
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Mehrere Fragen ;)

Beitrag von F3K Total »

Hi,
ja das geht, die Textfelder müssen durch Listenfelder ersetzt werden.
  • Schliesse das Formular.
  • Mache einen Rechtsklick auf das Formular Icon-> Bearbeiten
  • Mache einen Rechtsklick auf das Konto Feld -> ersetzen durch -> Listenfeld, genauso mit Kategorie. Wenn das nicht möglich ist, ggf. erst die Gruppe aufheben.
  • Nochmal Rechtsklick auf das Konto Feld -> Kontrollfeld... /Reiter Allgemein/aufklappbar->Ja
  • Reiter Daten, Art des Listeninhalts -> SQL
  • Listeninhalt -> auf die drei kleinen Punkte klicken
  • diese Einstellung vornehmen:
    SQL_Konto.png
    SQL_Konto.png (20.24 KiB) 7176 mal betrachtet
    wichtig: links Konto, rechts ID
  • speichern, Formular speichern, Datenbank speichern
  • Nochmal Rechtsklick auf das Kategorie Feld -> Kontrollfeld... /Reiter Allgemein/aufklappbar->Ja
  • Reiter Daten, Art des Listeninhalts -> SQL
  • Listeninhalt-> auf die drei kleinen Punkte klicken
  • die Einstellung analog Konto vornehmen wichtig: links Kategorie, rechts ID
  • speichern, Formular speichern, Datenbank speichern
  • Formular schliessen, per Doppelklick wieder öffnen.
fertig
Gruß R
Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Re: Mehrere Fragen ;)

Beitrag von Sebi1984 »

Hallo F3K Total,

hab vielen Dank. Ihr habt mir alle sehr geholfen. Jetzt habe ich es soweit wie ich es haben wollte.
Jetzt brauche ich nur noch bei dem Bericht eine gesamt Summe der einzelnen Kategorin und aller zusammen.

Ansonsten siehts echt schon super aus ;)

Gruß Sebi
Sebi1984
*
Beiträge: 13
Registriert: Di, 26.02.2013 22:12

Re: Mehrere Fragen ;)

Beitrag von Sebi1984 »

Hallöle nochmal,

ich habe da noch ein Problem :(
Wenn ich einen Bericht erstellen will zeigt er mir das falsche datum an ?
In der Tabelle und in der Abfrage steht es aber richtig?

Aso und geht das, das ich statt der Kategorie_ID den Kategorie steht?

Jemand eine Idee?

Gruß Sebi
Zuletzt geändert von Sebi1984 am Sa, 02.03.2013 23:20, insgesamt 1-mal geändert.
Antworten