❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Im Bericht ein Feld anzeigen
Im Bericht ein Feld anzeigen
Moin Community,
als Datenbankneuling habe ich seit ein paar Tagen folgendes Problem, wo ich einfach nicht weiter komme: In einer Kochrezeptdatenbank möchte ich eine Zutaten-/Einkaufsliste via Formular ausdrucken. Im Bericht möchte ich in der Kopfzeile den Rezeptnamen aufführen und im Hauptteil alle für das entsprechende Rezept benötigten Zutaten. As far, as good.
Nun meine Frage: Wie ist es zu bewerkstelligen, dass im Bericht nicht sämtliche Zutaten und Rezeptnamen auftauchen, sondern nur die zusammengehörenden, also pro Satz? Seit Tagen google ich mir die Finger wund und komme auf keine Lösung.
Danke für's Lesen.
Cutty
als Datenbankneuling habe ich seit ein paar Tagen folgendes Problem, wo ich einfach nicht weiter komme: In einer Kochrezeptdatenbank möchte ich eine Zutaten-/Einkaufsliste via Formular ausdrucken. Im Bericht möchte ich in der Kopfzeile den Rezeptnamen aufführen und im Hauptteil alle für das entsprechende Rezept benötigten Zutaten. As far, as good.
Nun meine Frage: Wie ist es zu bewerkstelligen, dass im Bericht nicht sämtliche Zutaten und Rezeptnamen auftauchen, sondern nur die zusammengehörenden, also pro Satz? Seit Tagen google ich mir die Finger wund und komme auf keine Lösung.
Danke für's Lesen.
Cutty
Re: Im Bericht ein Feld anzeigen
Hi,
das hängt vom Aufbau der Datenbank, den Tabellen/Abfragen usw. ab.
Ohne mehr Infomationen darüber wirds schwer mit der Hilfe.
Gruß R
das hängt vom Aufbau der Datenbank, den Tabellen/Abfragen usw. ab.
Ohne mehr Infomationen darüber wirds schwer mit der Hilfe.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Im Bericht ein Feld anzeigen
Hallo Cutty,
schon im Base-Handbuch das Kapitel Berichte gelesen? (http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - etwas nach unten scrollen ...)
Gruß
Robert
schon im Base-Handbuch das Kapitel Berichte gelesen? (http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - etwas nach unten scrollen ...)
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Im Bericht ein Feld anzeigen
'N Abend Community,
erstmal danke für die Antworten.
Ich weiß gar nicht mehr wieviele Handbücher, Anleitungen und Videoclips ich in den letzten Tagen durchgeackert habe. Im Prinzip geht es mir nur darum die Zusammenhänge zu begreifen; deshalb öffne ich etliche fertige Datenbanken um zu sehen, wie man was umgesetzt hat. An dieser Stelle vielen Dank an Robert für die Vorlagen.
Habe durch Zufall einen Lösungsansatz für einen anderen User entdeckt, der vor der gleichen Frage stand, und werde den mal ausprobieren.
Wenn ich nun nach folgender Anleitung vorgehe, bleibt mein Bericht leer.
Ich bekomme es einfach nicht hin, dass mir im Bericht nur ein Ort angezeigt wird, anstelle aller Orte, die in der Tabelle enthalten sind. Es ist zum Haareraufen.
Schönen Abend noch.
Gruß
Franky
erstmal danke für die Antworten.
Ich weiß gar nicht mehr wieviele Handbücher, Anleitungen und Videoclips ich in den letzten Tagen durchgeackert habe. Im Prinzip geht es mir nur darum die Zusammenhänge zu begreifen; deshalb öffne ich etliche fertige Datenbanken um zu sehen, wie man was umgesetzt hat. An dieser Stelle vielen Dank an Robert für die Vorlagen.
Habe durch Zufall einen Lösungsansatz für einen anderen User entdeckt, der vor der gleichen Frage stand, und werde den mal ausprobieren.
Wenn ich nun nach folgender Anleitung vorgehe, bleibt mein Bericht leer.
Komme einfach zu keinem Ergebnis, egal was ich auch mache. Die angehängte Übungsdatenbank beinhaltet eine Tabelle mit Namen Ort. Dort sind die Spalten Auto-ID, Ort, Name, Straße enthalten. Eine Hilfstabelle mit Namen Hilfe beinhaltet eine Spalte mit Namen Ort und ID.Zitat von eBayer aus dem Openoffice Forum:
Die ID genügt.
Im Bericht gehst Du auf Ansicht - Berichtsnavigator - Bericht.
Nun werden rechts im Entwurf 2 Tabs aufgezeigt (Allgemein und Daten)
Daten anklicken und nun bei Art des Inhalts SQL-Befehl auswählen - dann in der Zeile "Inhalt" auf den Button mit den 3 Punkten klicken.
Nun kommst Du in einen Abfrageentwurf, wo Du die beteiligten Tabellen und die Datenfelder durch Doppelklick auswählen kannst.
Erste Tabelle ist Deine Hilfstabelle, 2. und weitere Tabellen mußt Du selbst kennen.
Wichtig ist nun, daß Du die ID der Hilfstabelle mit der ID Deiner Datentabelle verbindest (Beziehung aufbauen).
Du kannst die Funktionalität dieser Abfrage jederzeit während Deiner Arbeit testen. Wenn die Abfrage funktioniert, sollte der Bericht auch funktionieren.
Ich bekomme es einfach nicht hin, dass mir im Bericht nur ein Ort angezeigt wird, anstelle aller Orte, die in der Tabelle enthalten sind. Es ist zum Haareraufen.
Schönen Abend noch.
Gruß
Franky
- Dateianhänge
-
- Übungen.zip
- Übungsdatei
- (3.18 KiB) 230-mal heruntergeladen
Re: Im Bericht ein Feld anzeigen
Hallo Franky,
Du willst nur einen Datensatz im Bericht sehen? Kein Formular, wo Du den auswählst? Dann mache das doch mit einer Parameterabfrage. Siehe Anhang.
Gruß
Robert
Du willst nur einen Datensatz im Bericht sehen? Kein Formular, wo Du den auswählst? Dann mache das doch mit einer Parameterabfrage. Siehe Anhang.
Gruß
Robert
- Dateianhänge
-
- bungen.odb.zip
- (6.73 KiB) 259-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Im Bericht ein Feld anzeigen
Moin Robert,
herzlichen Dank für die Antwort.
Mein Gedanke ist der, dass ich in einer Kochrezeptedatenbank (da habe ich eine astreine Vorlage aus dem OO Forum) in einem Formular einen Datensatz (Rezept) auswähle. Mir schwebt vor, aus diesem Formular heraus eine Einkausliste und auf Wunsch das komplette Rezept ausdrucken zu lassen. Ich dachte da an eine Geschichte über einen Button im Formular. Die vorhandene Vorlagendatenbank aus dem OO Forum ist prima zum ausprobieren. Wenn ich die Zusammenhänge begriffen habe, möchte ich eine komplett eigene Datenbank erstellen => der Ehrgeiz ist geweckt.
Als ich auf die Schnelle diese kleine Übungsdatenbank erstellt habe, hatte ich natürlich nicht mehr an das Formular gedacht. Dort wird ja quasi der anzuzeigende Datendatz ausgewählt. Wenn ich nun die ID von der Rezepttabelle in die Hilfstabelle kriege, wäre das die halbe Miete, vermute ich mal. Leider muss ich gerade mit dem Hund los. Nachher werde ich das nochmal austesten. Irgendwie kann das nix Schlimmes sein, was mich verzweifeln lässt. Werde mich heute Abend nochmal diesbezüglich melden.
Gruß
Franky
herzlichen Dank für die Antwort.
Ich glaube, ich habe gewaltig geschusselt. Du hast selbstverständlich recht, dass es über ein Formular gehen soll. Manchmal sind die Bretter vorm Kopf reichlich dick.Du willst nur einen Datensatz im Bericht sehen? Kein Formular, wo Du den auswählst?
Mein Gedanke ist der, dass ich in einer Kochrezeptedatenbank (da habe ich eine astreine Vorlage aus dem OO Forum) in einem Formular einen Datensatz (Rezept) auswähle. Mir schwebt vor, aus diesem Formular heraus eine Einkausliste und auf Wunsch das komplette Rezept ausdrucken zu lassen. Ich dachte da an eine Geschichte über einen Button im Formular. Die vorhandene Vorlagendatenbank aus dem OO Forum ist prima zum ausprobieren. Wenn ich die Zusammenhänge begriffen habe, möchte ich eine komplett eigene Datenbank erstellen => der Ehrgeiz ist geweckt.

Als ich auf die Schnelle diese kleine Übungsdatenbank erstellt habe, hatte ich natürlich nicht mehr an das Formular gedacht. Dort wird ja quasi der anzuzeigende Datendatz ausgewählt. Wenn ich nun die ID von der Rezepttabelle in die Hilfstabelle kriege, wäre das die halbe Miete, vermute ich mal. Leider muss ich gerade mit dem Hund los. Nachher werde ich das nochmal austesten. Irgendwie kann das nix Schlimmes sein, was mich verzweifeln lässt. Werde mich heute Abend nochmal diesbezüglich melden.
Gruß
Franky
Re: Im Bericht ein Feld anzeigen
Hallo Franky,
ich habe das noch einmal zusammengeklickt: Das Formular selbst besteht aus zwei Teilen: Hauptformular und Unterformular. Einfach einmal im Formularnavigator nachsehen. Das Hauptformular greift auf die Tabelle "Filter" zu. Abgespeichert wird, indem der Button betätigt wird. Rufst Du die Abfrage auf, dann ist da das drin, was Du haben möchtest. Das kannst Du dann im Bericht nutzen.
Direkt starten kannst Du den Bericht aus dem Formular heraus mit einem kleinen Makro - falls Du das möchtest. Dann melde Dich wieder.
Gruß
Robert
ich habe das noch einmal zusammengeklickt: Das Formular selbst besteht aus zwei Teilen: Hauptformular und Unterformular. Einfach einmal im Formularnavigator nachsehen. Das Hauptformular greift auf die Tabelle "Filter" zu. Abgespeichert wird, indem der Button betätigt wird. Rufst Du die Abfrage auf, dann ist da das drin, was Du haben möchtest. Das kannst Du dann im Bericht nutzen.
Direkt starten kannst Du den Bericht aus dem Formular heraus mit einem kleinen Makro - falls Du das möchtest. Dann melde Dich wieder.
Gruß
Robert
- Dateianhänge
-
- Ort_Formular_Filter.odb.zip
- (13.75 KiB) 237-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Im Bericht ein Feld anzeigen
Moin Robert,
astrein, vielen Dank. Nun kann ich mal etwas rumexperimentieren und schauen, wie ich das umgesetzt bekomme. Dank solch emsiger Helfer wie Dir, macht mir der Umgang mit Base reichlich Spaß.
Edit:
Habe versucht Deine Vorschläge umzusetzen. Als Anhang habe ich mal die Datenbank von Maikäfer aus dem OO Forum angehängt, wo ich versucht habe, Deine Vorschläge einzupflegen. Irgendwie bekomme ich keine Anzeige im Bericht. Der bleibt schlicht und ergreifend leer. Vermutlich sitzt der Kinken in der Abfrage. Doch wo liegt bloß mein Gedankenfehler?
Ich habe alle benötigten Tabellen in Beziehung gesetzt, damit alle Infos (Felder) zusammengesetzt werden, die man im Bericht (tatsächlich ja Einkaufsliste) benötigt. Als da wären: Rezeptname (Tabelle Rezepte), Anzahl der Personen, Zutat (Tabelle Zutaten), Anzahl (in der Tabelle irrtümlich Gewicht genannt), Einheit (g, kg, ml, l, TL, EL, St, Ds, etc...) (alles Tabelle Anleitung).
Gruß
Franky
astrein, vielen Dank. Nun kann ich mal etwas rumexperimentieren und schauen, wie ich das umgesetzt bekomme. Dank solch emsiger Helfer wie Dir, macht mir der Umgang mit Base reichlich Spaß.
Edit:
Habe versucht Deine Vorschläge umzusetzen. Als Anhang habe ich mal die Datenbank von Maikäfer aus dem OO Forum angehängt, wo ich versucht habe, Deine Vorschläge einzupflegen. Irgendwie bekomme ich keine Anzeige im Bericht. Der bleibt schlicht und ergreifend leer. Vermutlich sitzt der Kinken in der Abfrage. Doch wo liegt bloß mein Gedankenfehler?
Ich habe alle benötigten Tabellen in Beziehung gesetzt, damit alle Infos (Felder) zusammengesetzt werden, die man im Bericht (tatsächlich ja Einkaufsliste) benötigt. Als da wären: Rezeptname (Tabelle Rezepte), Anzahl der Personen, Zutat (Tabelle Zutaten), Anzahl (in der Tabelle irrtümlich Gewicht genannt), Einheit (g, kg, ml, l, TL, EL, St, Ds, etc...) (alles Tabelle Anleitung).
Gruß
Franky
- Dateianhänge
-
- Übung - Rezepte.odb.zip
- (27.23 KiB) 242-mal heruntergeladen
Re: Im Bericht ein Feld anzeigen
Hallo Franky,
das ganze hat zwei Klinken:
Der erste sitzt in der Abfrage. Da müssen alle Felder so miteinander verbunden sein, dass beim Rezept auch wirklich alle zugehörigen Zutaten usw. mit aufgenommen werden. Auch bei fehlenden Feldern muss eine Anzeige des Rezeptes möglich sein. Also besser so:
Die zweite Klinke sitzt in dem Formular. Du möchtest am liebsten einen Datensatz, den Du gerade im Hauptformular aufgesucht hast, gleichzeitig in einer anderen Tabelle speichern - der Filtertabelle. Die Idee mit dem Filter ist anders konstruiert. Sie erfordert eine Eingabe der entsprechenden Primärschlüsselnummer des Rezeptes und ein Formular, das nur immer im ersten Datensatz eine Abspeicherung vornimmt - gegebenenfalls also z.B. ein Eingabefeld zum Übertragen der Rezeptnummer sowie ein Button zum Abspeichern (der momentane aktualisiert ein Formular ...). Dann funktioniert das Ganze ohne Makro. Ansonsten hilft nur ein Makro - aber da Du bereits Makros eingebaut hast müsste das auch kein Problem sein:
Das Makro sucht das Feld in dem Formular auf, in dem der Primärschlüssel steht. Den schreibt es in den Filter. Wenn Du schließlich noch einen Bericht erstellt hast, der funktioniert, dann kannst Du den Namen des Berichtes zum Schluss eintragen und der gefilterte Bericht erscheint.
Das Makro verbindest Du mit dem Button. Der Button braucht dann keine andere Funktion mehr zu haben (aktuell aktualisiert er ein Formular ...)
An eine Überarbeitung des Formulars habe ich mich nicht ran gewagt, da einige Zellen dort nicht an dem einzigen Absatz links oben in der Ecke verankert sind. Dann kann das Formular schnell lauter Verschiebungen aufweisen.
Gruß
Robert
das ganze hat zwei Klinken:
Der erste sitzt in der Abfrage. Da müssen alle Felder so miteinander verbunden sein, dass beim Rezept auch wirklich alle zugehörigen Zutaten usw. mit aufgenommen werden. Auch bei fehlenden Feldern muss eine Anzeige des Rezeptes möglich sein. Also besser so:
Code: Alles auswählen
SELECT "tblRezept"."Rezept", "tblRezept"."Portionen", "tblZutaten"."Zutat", "tblAnleitung"."Gewicht", "tblAnleitung"."Einheit", "tblRezept"."pkRezept" FROM "Filter" LEFT JOIN "tblRezept" ON "Filter"."Integer" = "tblRezept"."pkRezept" LEFT JOIN "tblAnleitung" ON "tblAnleitung"."fkRezept" = "tblRezept"."pkRezept" LEFT JOIN "tblZutaten" ON "tblAnleitung"."fkZutat" = "tblZutaten"."pkZutat"
Code: Alles auswählen
SUB Filter_schreiben
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oDatenquelle AS OBJECT
DIM oVerbindung AS OBJECT
DIM oSQL_Anweisung AS OBJECT
DIM stSql AS STRING
DIM stInhalt AS STRING
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("HF_Rezept")
oFeld = oForm.getByName("pkRezept")
stInhalt = oFeld.getCurrentValue()
oDatenquelle = ThisComponent.Parent.CurrentController
If NOT (oDatenquelle.isConnected()) THEN
oDatenquelle.connect()
END IF
oVerbindung = oDatenquelle.ActiveConnection()
oSQL_Anweisung = oVerbindung.createStatement()
stSql = "UPDATE ""Filter"" SET ""Integer"" = '"+stInhalt+"' WHERE ""ID"" = TRUE"
oSQL_Anweisung.executeUpdate(stSql)
' ThisDatabaseDocument.ReportDocuments.getByName("Name deines Berichtes").open
END SUB
Das Makro verbindest Du mit dem Button. Der Button braucht dann keine andere Funktion mehr zu haben (aktuell aktualisiert er ein Formular ...)
An eine Überarbeitung des Formulars habe ich mich nicht ran gewagt, da einige Zellen dort nicht an dem einzigen Absatz links oben in der Ecke verankert sind. Dann kann das Formular schnell lauter Verschiebungen aufweisen.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Im Bericht ein Feld anzeigen
Hallo Robert,
vielen herzlichen Dank für Deine Bemühungen. Dank Deiner Hilfe bin ich wieder etwas schlauer geworden. Werde mich gleich mal ransetzen und ausprobieren.
Schönen Abend noch.
Gruß
Franky
vielen herzlichen Dank für Deine Bemühungen. Dank Deiner Hilfe bin ich wieder etwas schlauer geworden. Werde mich gleich mal ransetzen und ausprobieren.
Schönen Abend noch.
Gruß
Franky
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.