
Vielen Dank!
Das läßt sich durch diese zwei Makrozeilen, vor und nach Änderung der Abfrage, verhindern:Freischreiber hat geschrieben:... Daß die Abfrage sich ändert, merkt man auch an der Base-Datei: Die will gespeichert werden vor dem Schließen
Code: Alles auswählen
bModified = thisdatabasedocument.isModified
...
oQuery.Command = ...
...
If bModified = false then thisdatabasedocument.isModified = false
Klappt bei mir nicht...zwei Makrozeilen, vor und nach Änderung der Abfrage
Ahhh LibreOffice verhält sich hier anders als OpenOffice. So sollte es funktionieren:Freischreiber hat geschrieben:Klappt bei mir nicht...
Code: Alles auswählen
Sub open_Report_modify_Query
...
If bModified = false then thisdatabasedocument.Modified = false
end sub
Zauberwort: LEFT JOIN oder RIGHT JOIN, ist egal ...Freischreiber hat geschrieben:Adressen ganz ohne Kontaktangaben werden gar nicht angezeigt...
Klappt! Vielen Dank!In der letzten Zeile .isModified durch .Modified ersetzt
Code: Alles auswählen
SELECT "t-adressen"."Nachname", "t-adressen"."Vorname", "t-adressen"."Straße", "t-adressen"."PLZ", "t-adressen"."Ort", "t-kontakte"."Nummer", "t-kontaktarten"."Kontaktart"
FROM "t-adressen", "t-kontaktarten"
LEFT JOIN "t-kontakte"
ON "t-kontakte"."AdressID" = "t-adressen"."ID" AND "t-kontakte"."KontaktartID" = "t-kontaktarten"."ID"
WHERE "t-adressen"."ID" = 13
Das ist genau richtig für den Bericht ...Freischreiber hat geschrieben:Läuft, liefert aber für jede Kontaktart eine eigene Zeile. Irgendwo hakt es noch...
Code: Alles auswählen
SELECT ...
FROM "t-adressen", "t-kontaktarten"
LEFT JOIN "t-kontakte" ON "t-kontakte"."AdressID" = "t-adressen"."ID" AND "t-kontakte"."KontaktartID" = "t-kontaktarten"."ID"
LEFT JOIN "t-bankverbindungen" ON "t-bankverbindungen"."AdressID" = "t-adressen"."ID"
LEFT JOIN "t-auftraege" ON "zt-auftraege-adressen"."AdressID" = "t-adressen"."ID" AND "zt-auftraege-adressen"."AuftragID" = "t-auftraege"."ID"
WHERE "t-adressen"."ID" = 12