Hallo Olaf,
ich habe mir mit der Datenbank von OOo ein Tool gestrickt, dass ich
ähnlich schon mal unter Access laufen hatte. Ich will Vertrags und
Rechnungsdaten mit den Kundendaten verlinken. Klappt auch alles Super,
außer den Berechnungen.
Ich will dass das Feld [MwSt] sich selbstständig aus den Feldern
([Honorar] + [Fahrtkosten]) + MwSt.Prozent ergibt.
Das Feld [Gesmtbetrag] soll sich dann aus [Honorar] + [Fahrtkosten] +
[MwSt] errechnen.
warum willst du die MwST in der Datenbank speichern, wenn du sie für
jeden Datensatz erneut berechnen kannst?
Das macht aus meiner Sicht nur Sinn, wenn es sich dabei
a) nur um einen Vorgabewert für ein Formularfeld handelt, in welchem
du die MwST ggf. korrigieren möchtest
b) die Rechnung einfach den Wert der MwST aufweisen soll.
Bei a) würde ich ein Macro verwenden, welches immer wenn ein neuer
Datensatz erstellt wird aufgerufen wird und den Wert in das Feld schreibt.
Bei b) fällt mir leider auch nur eine Makrolösung ein, welches den Text
eines Formularfeldes ohne verbundenes Feld einer Datenquelle beim Laden
eines Datensatzes anpasst.
Für a) erstellst du ein OOo Makro mit dem Inhalt:
oForm=ThisComponent.DrawPage.Forms.getByName("Formularname")
REM Die nächsten Zeilen sinngemäß ergänzen, es gibt bestimmt auch noch
eine Variante ohne Formularfeld an den Honorar/Fahrkosten/MwST%-Wert zu
kommen, aber die fällt mir gerade nicht ein.
honorar = oForm.getByName("fHonorar").boundField.getFloat();
fahrkosten = ...
mwstprozent = ...
mwst = (honorar + fahrkosten) * mwstprozent
oForm.getByName("Elementname").boundField.updateFloat(mwst)
und weist es dem Formularereignis "beim Laden" und "Datensatzwechsel"
zu. (evtl. kannst du "beim Laden" auch weg lassen.)
Ich kann es hier leider gerade nicht testen, beim Problemen kannst du
auch mal in http://www.oooforum.org (Englisch) gucken.
Für b) eigentlich ganz ähnlich, nur dass du das boundField for
updateFloat weglässt und ggf. kein updateFloat existiert, dann müsstest
du nach String umwandeln und die Methode updateString verwenden.
Hat jemand eine andere Idee, wie man ein Feld (nur lesen) mit
berechneten Werten in OOo erzeugen kann?
Ansonsten wäre dies vielleicht ein Feature Request wert, in Access ist
sowas wirklich ganz easy. Jedenfalls für Berichte.
Mit freundlichen Grüßen,
Michael Braun
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]