BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Formularfilter auch für Bericht verwenden
-
- Beiträge: 755
- Registriert: Fr 28. Mär 2014, 10:41
Re: Formularfilter auch für Bericht verwenden
Hallo,
die Zwischentabelle steht in 1:n-Beziehung zu der Adresstabelle und in 1:n-Beziehung zur Auftragstabelle (man kann beliebig viele Aufträge pro Adresse und beliebig viele Adressen pro Auftrag erfassen).
Hier im Bericht hätte ich gerne in der Abfrage die Angabe der Auftragsnummern, die der gerade angezeigten Adresse zugeordnet sind.
Der letzte Code hier oben geht, bis auf das dritte LEFT JOIN.
Und gerade merke ich: im Makro geht er gar nicht. Ich habe alle Anführungszeichen durch doppelte ersetzt, aber da scheint noch etwas quer zu liegen...
Gruß
Freischreiber
die Zwischentabelle steht in 1:n-Beziehung zu der Adresstabelle und in 1:n-Beziehung zur Auftragstabelle (man kann beliebig viele Aufträge pro Adresse und beliebig viele Adressen pro Auftrag erfassen).
Hier im Bericht hätte ich gerne in der Abfrage die Angabe der Auftragsnummern, die der gerade angezeigten Adresse zugeordnet sind.
Der letzte Code hier oben geht, bis auf das dritte LEFT JOIN.
Und gerade merke ich: im Makro geht er gar nicht. Ich habe alle Anführungszeichen durch doppelte ersetzt, aber da scheint noch etwas quer zu liegen...
Gruß
Freischreiber
Freischreiber nutzt seit 6/2023 LibreOffice Version: 7.2.7.2 (x64) unter Windows 10 und SplitDB mit HSQL 2.7.2.
Re: Formularfilter auch für Bericht verwenden
Hallo Freischreiber,
mir scheint in den verschiedenen Joins der Wurm drin zu sein.
Du musst Dich entscheiden, welche Tabelle alle Datensätze auf jeden Fall abdeckt. Das wird ja wohl die Tabelle "t-adressen" sein.
Alle weiteren Tabellen werden zu dieser mit einem LEFT JOIN verbunden. Also:
Diese "zt-auftraege..." ist ja gar nicht als Tabelle in Deiner Abfrage definiert.
Gruß
Robert
mir scheint in den verschiedenen Joins der Wurm drin zu sein.
Du musst Dich entscheiden, welche Tabelle alle Datensätze auf jeden Fall abdeckt. Das wird ja wohl die Tabelle "t-adressen" sein.
Alle weiteren Tabellen werden zu dieser mit einem LEFT JOIN verbunden. Also:
Code: Alles auswählen
SELECT ...
FROM "t-adressen"
LEFT JOIN "t-kontakte" ON "t-kontakte"."AdressID" = "t-adressen"."ID"
LEFT JOIN "t-kontaktarten" ON "t-kontaktarten"."ID" = "t-kontakte"."KontaktartID"
LEFT JOIN "t-bankverbindungen" ON "t-bankverbindungen"."AdressID" = "t-adressen"."ID"
LEFT JOIN "zt-auftraege-adressen"."AdressID" = "t-adressen"."ID"
LEFT JOIN "t-auftraege" ON AND "t-auftraege"."ID" = "zt-auftraege-adressen"."AuftragID"
WHERE "t-adressen"."ID" = 12
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: Formularfilter auch für Bericht verwenden
Hallo Freischreiber,
wie per PN besprochen - die Test-DB und die Berichtsvorlage (per PN kann man nichts anhängen...):
Damit es funktioniert:
die 3 Dateien des Archivs irgendwohin entpacken,
die Extension BaseReportExtension.oxt aus diesem zip installieren (Doppelklick startet den Extension-Manager, dort ggf. alte Versionen deinstallieren)
Datenbank öffnen - Formular Kontake öffnen - auf den Button "Stammblatt" klicken.
Keine Registrierung der DB nötig
die Berichtsvorlage (Stammblatt.ott) muss sich im selben Verzeichnis wie die Datenbank (Test.odb) befinden
wie per PN besprochen - die Test-DB und die Berichtsvorlage (per PN kann man nichts anhängen...):
Damit es funktioniert:
die 3 Dateien des Archivs irgendwohin entpacken,
die Extension BaseReportExtension.oxt aus diesem zip installieren (Doppelklick startet den Extension-Manager, dort ggf. alte Versionen deinstallieren)
Datenbank öffnen - Formular Kontake öffnen - auf den Button "Stammblatt" klicken.
Keine Registrierung der DB nötig
die Berichtsvorlage (Stammblatt.ott) muss sich im selben Verzeichnis wie die Datenbank (Test.odb) befinden
- Dateianhänge
-
- Test_Stammblatt.zip
- (34.81 KiB) 165-mal heruntergeladen
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 755
- Registriert: Fr 28. Mär 2014, 10:41
Re: Formularfilter auch für Bericht verwenden
Hallo Robert,
okay... die letzten beiden Leftjoins mußte ich etwas ändern, aber dann lief es! Es erscheinen zwar ziemlich viele Zeilen für einen Namen, aber das läßt sich wohl nicht vermeiden...
Problem aber leider immer noch: Im Makro steht jetzt diese Zeile, in der ich aus einfachen doppelte Anführungszeichen machte:
(als eine Zeile natürlich, die Farben im Editor sehen "richtig" aus.)
Und beim Aufruf bekomme ich die Fehlermeldung "Das Dokument b-adresse konnte nicht geöffnet werden. Syntaxfehler im SQL-Ausdruck". Und in der Abfrage steht nur "False".
Kann es sein, daß im Makro das Left Join anders geschrieben werden muß?
Gruß
Freischreiber
okay... die letzten beiden Leftjoins mußte ich etwas ändern, aber dann lief es! Es erscheinen zwar ziemlich viele Zeilen für einen Namen, aber das läßt sich wohl nicht vermeiden...
Problem aber leider immer noch: Im Makro steht jetzt diese Zeile, in der ich aus einfachen doppelte Anführungszeichen machte:
Code: Alles auswählen
oQuery.Command = " SELECT ""t-adressen"".""Nachname"", ""t-adressen"".""Vorname"", ""t-adressen"".""Straße"", ""t-adressen"".""PLZ"", ""t-adressen"".""Ort"", ""t-kontakte"".""Nummer"", ""t-kontaktarten"".""Kontaktart"", ""t-bankverbindungen"".""Bankname"", ""t-bankverbindungen"".""IBAN"", ""t-bankverbindungen"".""BIC"", ""t-auftraege"".""ID"", ""t-auftraege"".""Gegenstand""
FROM ""t-adressen""
LEFT JOIN ""t-kontakte"" ON ""t-kontakte"".""AdressID"" = ""t-adressen"".""ID"" LEFT JOIN ""t-kontaktarten"" ON ""t-kontaktarten"".""ID"" = ""t-kontakte"".""KontaktartID""
LEFT JOIN ""t-bankverbindungen"" ON ""t-bankverbindungen"".""AdressID"" = ""t-adressen"".""ID""
LEFT JOIN ""zt-auftraege-adressen"" ON ""zt-auftraege-adressen"".""AdressID"" = ""t-adressen"".""ID""
LEFT JOIN ""t-auftraege"" ON ""t-auftraege"".""ID"" = ""zt-auftraege-adressen"".""AuftragID""
WHERE ""t-adressen"".""ID"" = " = + nFilterwert
Und beim Aufruf bekomme ich die Fehlermeldung "Das Dokument b-adresse konnte nicht geöffnet werden. Syntaxfehler im SQL-Ausdruck". Und in der Abfrage steht nur "False".
Kann es sein, daß im Makro das Left Join anders geschrieben werden muß?
Gruß
Freischreiber
Freischreiber nutzt seit 6/2023 LibreOffice Version: 7.2.7.2 (x64) unter Windows 10 und SplitDB mit HSQL 2.7.2.
Re: Formularfilter auch für Bericht verwenden
Hallo Freischreiber,
wo ist denn b-adresse in Deinem SQL-Code? Stimmt außerdem das Ende Deines Codes?
Da sind zwei Gleichheitszeichen hintereinander.
Ist der Filterwert eine Zahl? Sonst:
Gruß
Robert
wo ist denn b-adresse in Deinem SQL-Code? Stimmt außerdem das Ende Deines Codes?
Code: Alles auswählen
... ""ID"" = " = + nFilterwert ...
Ist der Filterwert eine Zahl? Sonst:
Code: Alles auswählen
""ID"" = '" + nFilterwert+"'"
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
-
- Beiträge: 755
- Registriert: Fr 28. Mär 2014, 10:41
Re: Formularfilter auch für Bericht verwenden
Hallo Robert,
! Das letzte Gleichheitszeichen war es... peinlich. Danke!
Jetzt kommt im Bericht aber plötzlich jede Telefonnummer viermal vor, wenn jemand vier Aufträge zugeordnet hat...
Gruß
Freischreiber
! Das letzte Gleichheitszeichen war es... peinlich. Danke!
Jetzt kommt im Bericht aber plötzlich jede Telefonnummer viermal vor, wenn jemand vier Aufträge zugeordnet hat...
Gruß
Freischreiber
Freischreiber nutzt seit 6/2023 LibreOffice Version: 7.2.7.2 (x64) unter Windows 10 und SplitDB mit HSQL 2.7.2.
Re: Formularfilter auch für Bericht verwenden
Hallo Freischreiber,
Gruß
Robert
Die Telefonnummer muss in einer Gruppierung über den Aufträgen stehen, nicht in den Aufträgen selbst. Sie gehört ja wohl irgendwie zu der Anschrift, oder?Freischreiber hat geschrieben: Jetzt kommt im Bericht aber plötzlich jede Telefonnummer viermal vor, wenn jemand vier Aufträge zugeordnet hat...
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
-
- Beiträge: 755
- Registriert: Fr 28. Mär 2014, 10:41
Re: Formularfilter auch für Bericht verwenden
Hallo Robert,
Entschuldigung, daß ich mich jetzt erst wieder melde.
Die Abfrage liefert jetzt bei einer vorhandenen Telefonnummer vier Zeilen, wenn jemand vier Aufträge zugeordnet hat.
Im Bericht habe ich im Moment nur eine Gruppe: Nachname.
Unter diese erste Gruppe muß also eine Gruppe "Kontakte" und eine Gruppe "Aufträge", wenn ich jede Kontaktnummer und jeden Auftrag nur einmal anzeigen will?
Gruß
Freischreiber
Entschuldigung, daß ich mich jetzt erst wieder melde.
Die Abfrage liefert jetzt bei einer vorhandenen Telefonnummer vier Zeilen, wenn jemand vier Aufträge zugeordnet hat.
Im Bericht habe ich im Moment nur eine Gruppe: Nachname.
Unter diese erste Gruppe muß also eine Gruppe "Kontakte" und eine Gruppe "Aufträge", wenn ich jede Kontaktnummer und jeden Auftrag nur einmal anzeigen will?
Gruß
Freischreiber
Freischreiber nutzt seit 6/2023 LibreOffice Version: 7.2.7.2 (x64) unter Windows 10 und SplitDB mit HSQL 2.7.2.
Re: Formularfilter auch für Bericht verwenden
Hallo Freischreiber,
wenn Du die vier Aufträge sortiert darstellen willst, dann musst Du eine Gruppierung "Aufträge" unterhalb der Gruppierung "Nachname" einfügen. In die Gruppierung "Nachname" gehört dann auch die Telefonnummer, wenn die sowieso für jeden Auftrag gleich ist. In den Detail-Bereich gehören die verschiedenen Elemente, die zu einem Auftrag gehören.
Die Untergruppierung für "Aufträge" ist dann nicht notwendig, wenn in Deiner Abfrage pro Auftrag sowieso nur eine Zeile existiert.
Gruß
Robert
wenn Du die vier Aufträge sortiert darstellen willst, dann musst Du eine Gruppierung "Aufträge" unterhalb der Gruppierung "Nachname" einfügen. In die Gruppierung "Nachname" gehört dann auch die Telefonnummer, wenn die sowieso für jeden Auftrag gleich ist. In den Detail-Bereich gehören die verschiedenen Elemente, die zu einem Auftrag gehören.
Die Untergruppierung für "Aufträge" ist dann nicht notwendig, wenn in Deiner Abfrage pro Auftrag sowieso nur eine Zeile existiert.
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
-
- Beiträge: 755
- Registriert: Fr 28. Mär 2014, 10:41
Re: Formularfilter auch für Bericht verwenden
Hallo Robert,
sorry wenn ich mich wieder wie der erste Mensch anstelle, aber ich verstehe es einfach nicht:
Adresse (Name, Straße, Ort usw.)
Tel. ...
Fax: ...
Mail ...
Auftrag1
Auftrag2
Auftrag3
Auftrag4
Gruß
Freischreiber
Versuch: Ich kann Text- und Beschriftungsfelder für Kontaktart und Nummer in dem Block unter dem letzten Feld ("Bezug") anfügen, aber dann erscheint nur die erste von mehreren vorhandenen Rufnummern.
sorry wenn ich mich wieder wie der erste Mensch anstelle, aber ich verstehe es einfach nicht:
Wie kann ich Nummer und Kontaktart IN die Gruppe "Nachname" bringen? Sobald ich Nummer oder Kontaktart auswähle, erscheint eine neue Gruppe: Also was ich gerne hätte ist einfach ein Blatt für die ausgewählte Adresse mit Zusatzangaben:In die Gruppierung "Nachname" gehört dann auch die Telefonnummer,
Adresse (Name, Straße, Ort usw.)
Tel. ...
Fax: ...
Mail ...
Auftrag1
Auftrag2
Auftrag3
Auftrag4
Gruß
Freischreiber
Versuch: Ich kann Text- und Beschriftungsfelder für Kontaktart und Nummer in dem Block unter dem letzten Feld ("Bezug") anfügen, aber dann erscheint nur die erste von mehreren vorhandenen Rufnummern.
Freischreiber nutzt seit 6/2023 LibreOffice Version: 7.2.7.2 (x64) unter Windows 10 und SplitDB mit HSQL 2.7.2.
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️