Haushaltsbuch mit Base
Moderator: Moderatoren
Haushaltsbuch mit Base
Hallo zusammen
bin noch neu hier im Forum und im Umgang mit Base. Habe vor vielen Jahren mal etwas ausgiebiger mit Access gearbeitet, ist aber schon zu lange her.
Ich möchte mit Base ein Haushaltsbuch erstellen und habe damit begonnen verschiedene Tabellen anzulegen und zu Verknüpfen (siehe Anhang).
Als nächstzes habe ich versucht diverse Formulare zu erstellen. Zum einen zur Datenpflege und zum andern natürlich zur Erfassung von Quittungen/Rechnungen/Kassenzettel.
Die Datenpflege gestaltet sich ja noch relativ einfach wobei zB. beim erfassen vom Verwendungszweck hilfreich wäre über ein Listenfeld zunächst eine Kategorie auszuwählen und dann in einem SubFormular dann nur die bereits erfassten Zwecke zu sehen und dort in einer Tabelle ggfs zu ergänzen. Hierdurch sollen Doppelnennungen vermieden werden. Das stellt sich schon ein kleines Problem dar, da ich es nicht hinbekomme ein Listenfeld mit der Kategorie als Auswahl zu erstellen, wo nach Auswahl die Tabelle im Unterformular aktualisiert wird. Eine solche Funktion kenne ich noch von Access, da ging es zunächst über einen Assistenten und ich habe mir dann die Basic Befehle dazu angesehen und daraus gelernt bzw. entsprechende Modifikationen abgeleitet. Aber mit Base komme ich da noch nicht klar, da dies offensichtlich nur über Makros funktioniert.
Gleiches Problem gilt für die Erfassung von Belegen. Um eine eindeutige Zuordnung zu erhlaten möchte ich zunächst in einem ersten Listenfeld die Kategorie und in einem zweiten Listenfeld, welches dann auch nur noch die Verwendungszwecke zu dieser Kategorie enthält, auswählen. (siehe Formular Quittungen). Das Formular ist noch nicht fertig und das was in der Tabelle im Unterformular steht sollte als Listenfeld angezeigt werden.
Vielleicht kann mir jemand weiterhelfen, damit ich mal ein wenig weiter komme. Tipps für Literatur oder links zum nachlesen sind natürlich auch willkommen.
Danke und nen schönen Tag
Gruss obi
PS: Die Felder ID in den Tabellen habe ich als AutoWert mit LongInteger angelegt.
bin noch neu hier im Forum und im Umgang mit Base. Habe vor vielen Jahren mal etwas ausgiebiger mit Access gearbeitet, ist aber schon zu lange her.
Ich möchte mit Base ein Haushaltsbuch erstellen und habe damit begonnen verschiedene Tabellen anzulegen und zu Verknüpfen (siehe Anhang).
Als nächstzes habe ich versucht diverse Formulare zu erstellen. Zum einen zur Datenpflege und zum andern natürlich zur Erfassung von Quittungen/Rechnungen/Kassenzettel.
Die Datenpflege gestaltet sich ja noch relativ einfach wobei zB. beim erfassen vom Verwendungszweck hilfreich wäre über ein Listenfeld zunächst eine Kategorie auszuwählen und dann in einem SubFormular dann nur die bereits erfassten Zwecke zu sehen und dort in einer Tabelle ggfs zu ergänzen. Hierdurch sollen Doppelnennungen vermieden werden. Das stellt sich schon ein kleines Problem dar, da ich es nicht hinbekomme ein Listenfeld mit der Kategorie als Auswahl zu erstellen, wo nach Auswahl die Tabelle im Unterformular aktualisiert wird. Eine solche Funktion kenne ich noch von Access, da ging es zunächst über einen Assistenten und ich habe mir dann die Basic Befehle dazu angesehen und daraus gelernt bzw. entsprechende Modifikationen abgeleitet. Aber mit Base komme ich da noch nicht klar, da dies offensichtlich nur über Makros funktioniert.
Gleiches Problem gilt für die Erfassung von Belegen. Um eine eindeutige Zuordnung zu erhlaten möchte ich zunächst in einem ersten Listenfeld die Kategorie und in einem zweiten Listenfeld, welches dann auch nur noch die Verwendungszwecke zu dieser Kategorie enthält, auswählen. (siehe Formular Quittungen). Das Formular ist noch nicht fertig und das was in der Tabelle im Unterformular steht sollte als Listenfeld angezeigt werden.
Vielleicht kann mir jemand weiterhelfen, damit ich mal ein wenig weiter komme. Tipps für Literatur oder links zum nachlesen sind natürlich auch willkommen.
Danke und nen schönen Tag
Gruss obi
PS: Die Felder ID in den Tabellen habe ich als AutoWert mit LongInteger angelegt.
- Dateianhänge
-
- Formular zum eingeben von Quittungen
- Formular_Quittungen.jpg (158.26 KiB) 4007 mal betrachtet
-
- Beziehungen der Tabellen
- beziehungen.jpg (79.31 KiB) 4007 mal betrachtet
Fedora 17 auf Intel DG965WH, kernel 3.6.10
Re: Haushaltsbuch mit Base
Hallo und willkommen,
bitte lies auch Allgemeine Hinweise. Screenshots sind selten geeignet zur Problembeschreibung. Besser sind vollständige Beispieldokumente (also eine odb-Datei). Hier spielt das (noch) keine Rolle, weil dein "Problem" damit nur indirekt zu tun hat.
Allgemeine Empfehlung: die Handbücher, vor allem (weit nach unten scrollen) das vollständige Base-Handbuch. Auf Seite 95 ff. und 122 ff. werden Listenfelder beschrieben. Das sollte deine Fragen beantworten; andernfalls darfst du natürlich gerne nachfragen.
Gruß Jürgen
bitte lies auch Allgemeine Hinweise. Screenshots sind selten geeignet zur Problembeschreibung. Besser sind vollständige Beispieldokumente (also eine odb-Datei). Hier spielt das (noch) keine Rolle, weil dein "Problem" damit nur indirekt zu tun hat.
Allgemeine Empfehlung: die Handbücher, vor allem (weit nach unten scrollen) das vollständige Base-Handbuch. Auf Seite 95 ff. und 122 ff. werden Listenfelder beschrieben. Das sollte deine Fragen beantworten; andernfalls darfst du natürlich gerne nachfragen.
Gruß Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Re: Haushaltsbuch mit Base
Hallo obi,
Listenfelder eignen sich nur bedingt als Vorauswahlsfelder für eine Tabelle im Unterformular. Da musst Du mindestens mit einem Button ergänzen oder das Ganze per Makro erweitern.
Die einfachste Möglichkeit ist, im Hauptformular in einem Tabellenkontrollfeld die Kategorien anzeigen zu lassen und "Kategorien"."ID" mit "Verwendungszweck"."ID.Kategorien" des Unterformulars verbinden (Verknüpfungseinstellungen des Unterformulars).
Kleine weitere Anmerkung: das Feld "ID.Kategorien" kann schnell zu falschen Schlüssen führen, da mit dem Punkt gemeinhin Tabellen und Felder voneinander getrennt werden. Ich weiß, dass manche Leute recht frei mit Sonderzeichen umgehen und sich immer darauf verlassen, dass ja die Anführungszeichen richtig gesetzt sind.
Gruß
Robert
Listenfelder eignen sich nur bedingt als Vorauswahlsfelder für eine Tabelle im Unterformular. Da musst Du mindestens mit einem Button ergänzen oder das Ganze per Makro erweitern.
Die einfachste Möglichkeit ist, im Hauptformular in einem Tabellenkontrollfeld die Kategorien anzeigen zu lassen und "Kategorien"."ID" mit "Verwendungszweck"."ID.Kategorien" des Unterformulars verbinden (Verknüpfungseinstellungen des Unterformulars).
Kleine weitere Anmerkung: das Feld "ID.Kategorien" kann schnell zu falschen Schlüssen führen, da mit dem Punkt gemeinhin Tabellen und Felder voneinander getrennt werden. Ich weiß, dass manche Leute recht frei mit Sonderzeichen umgehen und sich immer darauf verlassen, dass ja die Anführungszeichen richtig gesetzt sind.
Gruß
Robert
Re: Haushaltsbuch mit Base
danke für die schnellen antworten
@jürgen
Danke für den Hinweis werde mal das Handbuch später ausführlicher lesen und am Objekt probieren
@robert
das mit dem Punkt kommt vom probieren, habe vergessen aus dem Punkt wieder einen underscore zu machen, werde ich aber am we dann gleich mal wieder ändern
bzgl der makros, kannst du mir da einen link oder dergleichen nennen mit einer verständlichen anleitung dazu?
gruss und schönes we
eric
@jürgen
Danke für den Hinweis werde mal das Handbuch später ausführlicher lesen und am Objekt probieren
@robert
das mit dem Punkt kommt vom probieren, habe vergessen aus dem Punkt wieder einen underscore zu machen, werde ich aber am we dann gleich mal wieder ändern
bzgl der makros, kannst du mir da einen link oder dergleichen nennen mit einer verständlichen anleitung dazu?
gruss und schönes we
eric
Fedora 17 auf Intel DG965WH, kernel 3.6.10
Re: Haushaltsbuch mit Base
Hallo eric,
zu den Makros und dem Listenfeld: zuerst einmal wieder der Hinweis auf das Handbuch. Allerdings haben wir da nicht direkt so ein Makro drin, muss also zusammengestellt werden. Da aber immer häufiger Leute mit einem Wunsch nach dieser Funktionalität (Listenfeld als Filter) kommen werde ich mich einmal daran machen, das so einfach wie möglich nachzubauen.
Gruß
Robert
zu den Makros und dem Listenfeld: zuerst einmal wieder der Hinweis auf das Handbuch. Allerdings haben wir da nicht direkt so ein Makro drin, muss also zusammengestellt werden. Da aber immer häufiger Leute mit einem Wunsch nach dieser Funktionalität (Listenfeld als Filter) kommen werde ich mich einmal daran machen, das so einfach wie möglich nachzubauen.
Gruß
Robert
Re: Haushaltsbuch mit Base
hallo robert
hört sich gut an...habe evtl auch noch einen anderen ansatz im handbuch gefunden und werde das die tage mal ausprobieren
gruss eric
hört sich gut an...habe evtl auch noch einen anderen ansatz im handbuch gefunden und werde das die tage mal ausprobieren
gruss eric
Fedora 17 auf Intel DG965WH, kernel 3.6.10
Re: Haushaltsbuch mit Base
Hallo Eric,
ich habe jetzt das Makro zu einer der Beipieldatenbanken des Handbuches hinzugefügt. Ich hänge die Beipieldatenbank an.
Dem Formular wird einfach ein Listenfeld hinzugefügt, das mit keinem Datenfeld verbunden ist. Das Listenfeld soll nur die Werte darstellen, die gefiltert werden sollen. Deshalb der Befehl
Das Listenfeld enthält gleichzeitig Informationen über den Formularnamen, seinen eigenen Namen und das Feld, nach dem gefiltert werden soll - steht in den Eigenschaften des Feldes unter Zusatzinformationen. Wenn der Wert des Listenfeldes geändert wird, dann springt das Makro an. Es liest die Zusatzinformationen, stellt den Formularfilter ein und lädt das Formular neu.
Gruß
Robert
ich habe jetzt das Makro zu einer der Beipieldatenbanken des Handbuches hinzugefügt. Ich hänge die Beipieldatenbank an.
Dem Formular wird einfach ein Listenfeld hinzugefügt, das mit keinem Datenfeld verbunden ist. Das Listenfeld soll nur die Werte darstellen, die gefiltert werden sollen. Deshalb der Befehl
Code: Alles auswählen
SELECT DISTINCT "Kategorie" FROM "Tabelle" ORDER BY "Kategorie"
Gruß
Robert
- Dateianhänge
-
- Beispiel_Datenbank_Filter.odb
- (39.79 KiB) 161-mal heruntergeladen
Re: Haushaltsbuch mit Base
Hallo Robert,
danke für die Mühe, die du dir immer wieder gibst. Nötig wäre noch eine Alternative, nämlich dass alle Kategorien in einer eigenen Tabelle stehen (einschließlich Fremdschlüssel auf die betreffende Tabelle). Ich bemühe mich, dazu eine Lösung einzufügen; für das "private" Projekt, bei dem ich gerade helfe, wäre das auch nützlich.
Gruß Jürgen
danke für die Mühe, die du dir immer wieder gibst. Nötig wäre noch eine Alternative, nämlich dass alle Kategorien in einer eigenen Tabelle stehen (einschließlich Fremdschlüssel auf die betreffende Tabelle). Ich bemühe mich, dazu eine Lösung einzufügen; für das "private" Projekt, bei dem ich gerade helfe, wäre das auch nützlich.
Gruß Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Re: Haushaltsbuch mit Base
danke Robert
ich schaue mir das später mal an
habe auch mal ein wenig meine ideen bzw. meine Vorstellung konkretisiert und versucht im Formular Eingabemaske für Quittungen zu erläutern
das hat sich nun also etwas überschnitten, da ich deine Info erst gerade eben gesehen habe als ich meine hochladen wollte, was ich nun aber dennoch mache
ich schaue mir das später mal an
habe auch mal ein wenig meine ideen bzw. meine Vorstellung konkretisiert und versucht im Formular Eingabemaske für Quittungen zu erläutern
das hat sich nun also etwas überschnitten, da ich deine Info erst gerade eben gesehen habe als ich meine hochladen wollte, was ich nun aber dennoch mache
- Dateianhänge
-
- Haushalt.odb
- (63.02 KiB) 224-mal heruntergeladen
Fedora 17 auf Intel DG965WH, kernel 3.6.10
Re: Haushaltsbuch mit Base
Also ich muss echt sagen "Ich bin entsetzt wie umständlich vieles mit Base ist"
Ich denke ich werde das lieber weiter mit Tabellen machen und versuche eine Verknüpfung mit Base herzustellen.
Berichte zu erstellen ist ja noch besch...
Schade das es so umständlich ist.
Anbei mal meine bisherigen ergebnisse
Ich denke ich werde das lieber weiter mit Tabellen machen und versuche eine Verknüpfung mit Base herzustellen.
Berichte zu erstellen ist ja noch besch...
Schade das es so umständlich ist.
Anbei mal meine bisherigen ergebnisse
- Dateianhänge
-
- Haushalt.odb
- Bisherige Ergebnisse incl. Dem Makro von Robert <-- Danke
- (51.02 KiB) 184-mal heruntergeladen
Fedora 17 auf Intel DG965WH, kernel 3.6.10
Re: Haushaltsbuch mit Base
Hallo obi-waan,
ich habe mir Deine DB runter geladen. Das Makro war leider nicht korrekt abgespeichert. Du hast ganz richtig die entsprechenden Einträge in dem Listenfeld selbst gemacht. Allerdings genauso etwas versucht in
oEvent.Source.Model."......"
Das musst Du wieder ändern nach
oEvent.Source.Model.Tag
Mir ist nicht ganz klar, was Du im Bericht darstellen willst - zumal Dein vorheriger Bericht abgestürzt zu sein scheint.
Ein Bericht kann nur aus einer Quelle gespeichert werden. Die einzige Möglichkeit, sich eventuell auf eine zweite Quelle zu beziehen, wäre ein Diagramm. Nur das funktioniert leider seit LO 3.5 bzw. OOo 3.3 nicht mehr. Also musst Du zuerst einmal Deine Daten in einer Abfrage zusammenfassen. Erst dann macht ein Bericht einen Sinn.
Mir scheint das Ganze ja mehr ein Fahrtenbuch als ein Haushaltsbuch zu sein - da kann ich dann auch keine Fachkenntnis beisteuern, da ich mich in die Zusammenhänge erst einarbeiten müsste (ich habe schon über 30 Jahre kein Auto mehr ...). Ein Haushaltsbuch habe ich vor zwei Jahren für Base ins Netz gestellt http://robert.familiegrosskopf.de (Menü DB Haushalt) - würde ich jetzt zwar vielleicht auch noch besser lösen, aber das funktioniert so auf jeden Fall. Nur passt Das nicht auf Deine Tabellen.
Gruß
Robert
ich habe mir Deine DB runter geladen. Das Makro war leider nicht korrekt abgespeichert. Du hast ganz richtig die entsprechenden Einträge in dem Listenfeld selbst gemacht. Allerdings genauso etwas versucht in
oEvent.Source.Model."......"
Das musst Du wieder ändern nach
oEvent.Source.Model.Tag
Mir ist nicht ganz klar, was Du im Bericht darstellen willst - zumal Dein vorheriger Bericht abgestürzt zu sein scheint.
Ein Bericht kann nur aus einer Quelle gespeichert werden. Die einzige Möglichkeit, sich eventuell auf eine zweite Quelle zu beziehen, wäre ein Diagramm. Nur das funktioniert leider seit LO 3.5 bzw. OOo 3.3 nicht mehr. Also musst Du zuerst einmal Deine Daten in einer Abfrage zusammenfassen. Erst dann macht ein Bericht einen Sinn.
Mir scheint das Ganze ja mehr ein Fahrtenbuch als ein Haushaltsbuch zu sein - da kann ich dann auch keine Fachkenntnis beisteuern, da ich mich in die Zusammenhänge erst einarbeiten müsste (ich habe schon über 30 Jahre kein Auto mehr ...). Ein Haushaltsbuch habe ich vor zwei Jahren für Base ins Netz gestellt http://robert.familiegrosskopf.de (Menü DB Haushalt) - würde ich jetzt zwar vielleicht auch noch besser lösen, aber das funktioniert so auf jeden Fall. Nur passt Das nicht auf Deine Tabellen.
Gruß
Robert
Re: Haushaltsbuch mit Base
Hallo Robert
danke für die Antwort, das ganze sieht im moment noch aus wie ein fahrtenbuch, soll aber mehr als das sein.
Habe hierzu auch erste Ansätze hinbekommen und probiere weiter. Das ganze habe ich jetzt mal in Verbindung mit Calc angegangen. Hierzu habe ich Tabellen oder Abfragen als Datenquelle in Calc eingebunden. Nach jeweiliger Aktualisierung der Datenbereiche scheint das erstmal für meine Zwecke zu funktionieren.
Die Eingabe der Daten mache ich nun in base im Tabellenformat, das geht aus meiner Sicht recht gut und ist auch übersichtlich. Meine Freundin darf gleich mal testen.
Hier müsste ich nur noch rausfinden wie ich zB. innerhalb des Datumfeldes die Eingabe vom Format vorgeben kann, damit ich nicht jedesmal den . mit eingeben muss.
Die erforderlichen Daten zum Auswerten in Calc bastle ich über Abfragen zusammen und dort kann ich auch noch den ein oder anderen Parameter eingebene, damit ich z.B bei Fahrzeugen nur Daten für ein Fahrzeug zur Auswertung heranziehe. Auch das geht recht komfortabel, gibt sicherlich bessere Wege aber wie gesagt so geht es auch.
Werde also mal in die Richtung weiter wandern und berichten.
Gruss Eric
danke für die Antwort, das ganze sieht im moment noch aus wie ein fahrtenbuch, soll aber mehr als das sein.
Habe hierzu auch erste Ansätze hinbekommen und probiere weiter. Das ganze habe ich jetzt mal in Verbindung mit Calc angegangen. Hierzu habe ich Tabellen oder Abfragen als Datenquelle in Calc eingebunden. Nach jeweiliger Aktualisierung der Datenbereiche scheint das erstmal für meine Zwecke zu funktionieren.
Die Eingabe der Daten mache ich nun in base im Tabellenformat, das geht aus meiner Sicht recht gut und ist auch übersichtlich. Meine Freundin darf gleich mal testen.

Hier müsste ich nur noch rausfinden wie ich zB. innerhalb des Datumfeldes die Eingabe vom Format vorgeben kann, damit ich nicht jedesmal den . mit eingeben muss.
Die erforderlichen Daten zum Auswerten in Calc bastle ich über Abfragen zusammen und dort kann ich auch noch den ein oder anderen Parameter eingebene, damit ich z.B bei Fahrzeugen nur Daten für ein Fahrzeug zur Auswertung heranziehe. Auch das geht recht komfortabel, gibt sicherlich bessere Wege aber wie gesagt so geht es auch.
Werde also mal in die Richtung weiter wandern und berichten.
Gruss Eric
Fedora 17 auf Intel DG965WH, kernel 3.6.10
Re: Haushaltsbuch mit Base
Hallo Eric,
zum Datumsfeld:
Entweder mit dem Aufklappfeld arbeiten oder ein maskiertes Feld nehmen (siehe Handbuch Seite 106 im doppelseitigen Format). Zitat:
Definieren Sie z. B. für die Zeichenmaske «__.__.2000» die Eingabemaske «NNLNNLLLLL»,
um dem Benutzer nur noch die Eingabe von 4 Ziffern zur Datumsangabe zu ermöglichen.
Vielleicht reicht auch aus, NNLNNLNNNN in die Eingabemaske zu schreiben. Dann werden die Punkte gesetzt und nach dem 2. Punkt erkennt vielleicht Base schon, ob das ein Datum ist. Die Maske benötigt dann aber immer vier Ziffern ...
Gruß
Robert
zum Datumsfeld:
Entweder mit dem Aufklappfeld arbeiten oder ein maskiertes Feld nehmen (siehe Handbuch Seite 106 im doppelseitigen Format). Zitat:
Definieren Sie z. B. für die Zeichenmaske «__.__.2000» die Eingabemaske «NNLNNLLLLL»,
um dem Benutzer nur noch die Eingabe von 4 Ziffern zur Datumsangabe zu ermöglichen.
Vielleicht reicht auch aus, NNLNNLNNNN in die Eingabemaske zu schreiben. Dann werden die Punkte gesetzt und nach dem 2. Punkt erkennt vielleicht Base schon, ob das ein Datum ist. Die Maske benötigt dann aber immer vier Ziffern ...
Gruß
Robert