Hallo,
das ist mit Calc und Serienbrief, wenn überhaupt, dann nur sehr
schwierig...
Eigentlich ist das eine typische Datenbankanwendung:
Grob gesagt brauchst du dafür in der Minimalstversion:
eine Kundentabelle mit den üblichen Kundendaten,
eine Tabelle Rechnung mit KundenNr, RechnungsNr., Datum
die dazu gehörigen Artikel in einer Tabelle mit RechnungsNr,
ArtikelNr, Anzahl, Bezeichnung, Preis
jeder Kunde kann n Rechnungen haben also 1:n
jede Rechnung kann n Artikel haben - also auch 1:n
Die Rechnung wird dann mit einem Bericht erstellt.
Bei mir ist es schon Jahre her, dass ich so etwas programmiert habe
und das damals nicht in LO-Base.
Hier habe ich aber schon älteren Artikel gefunden, der zeigt, wie man
das machen könnte:
https://www.linux-community.de/ausgaben/easylinux/2008/03/rechnungsdatenbank-mit-base-und-writer/
Im Base-Handbuch
<https://de.libreoffice.org/get-help/documentation/>findest du auch
kompetente Hinweise!
Mit freundlichen Grüßen
Alois Klotz
keine Werbung schrieb am 10.03.2021 um 14:59:
Hallo in die Runde,
ich habe eine Calc-Tabelle mit verschiedenen Kunden, die verschiedene
Artikel bestellt/gekauft haben. In einer Spalte befinden sich redundant
die Kunden-Namen und in der anderen Spalte redundant die Artikelnummern.
Aber je Kunde kann jeder Artikel nur einmal bestellt worden sein.
Manche Kunden haben nur einen Artikel bestellt, manche Kunden haben
mehrere Artikel bestellt. Ich möchte ein Seriendokument erstellen, das
pro Seite für jeden einzelnen Kunden alle Bestellungen auflistet. Also
oben auf der Seite steht *einmal* der Name und weiter unten ist die
Liste *aller* (mal einer, mal drei, mal zehn usw.) Artikel aufgeführt
(1:n).
Ich wollte das mit "Nächster Datensatz" anhand einer Bedingung und
"versteckter Absatz" anhand der Negationsbedingung (statt 'null' also
'eins') lösen. Dazu habe ich die Tabelle nach den Kundennamen sortiert
und eine weitere Spalte eingefügt, die solange eine "0" enthält, bis der
letzte Datensatz dieses Kunden erreicht ist (dann "1" ->
Negationsbedingung).
Dann habe ich das Datenbankfeld 'Kundenname' und 'Nächster Datensatz
wenn _letzter DS gleich __*null*_' immer wieder (ca. 10 mal)
untereinander kopiert. Doch das klappt nicht, wenn weniger als zehn
Artikel bestellt wurden, weil der letzte Artikel bis zur zehnten
Listenposition immer wiederholt wird. Wenn ich nun aber den "versteckten
Absatz" mit der Bedingung '_letzter DS gleich __*eins*_' vor die Zeile
setze, wird der letzte Artikel des Kunden logischerweise nicht mehr
angezeigt.
Nun wollte ich eine Variable mit einer Bedingung erstellen, aber das
scheint mit LO Writer nicht zu klappen. Vielleicht ist mein
grundsätzlicher Lösungsansatz aber auch falsch...
Hat jemand eine Idee, wie dieses Problem, das vermutlich viele
Rechnungen schreibende Selbstständige haben, mit LO gelöst werden
könnte?
Danke im Voraus!
BG Lars
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.