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]

Antwort per Email an