Hallo, ich habe mich auch schon gefragt, ob /warum nicht die entsprechenden sql-Möglichtkeiten existieren (meine ersten Tests waren nicht erfolgreich):
so oder ähnliche sollte es doch unter einer standard sql-DB möglich sein oder? SELECT..... sum("honorar", "Fahrkosten") AS "gesamtNetto" "gesamtNetto"*1.14 AS gesamtBrutto FROM .... Die Frage ist also ob das die eingebaute DB kann und/oder ob bei den eingebundenen DB's (z.B. ACCESS oder mysql) die Treiber das zulassen... oder wenigstens bei gebundenen Formularen (soweit bin ich noch nicht) berechnete Felder möglich sind die Makro-Lösung mag funktionieren, aber ist meiner Meinung nach doch nur ein unzureichendes Workarround weis jemand mehr? Karl (kgs-ks) -----Ursprüngliche Nachricht----- Von: Michael Braun [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 19. Dezember 2006 13:25 An: users@de.openoffice.org Betreff: Re: [de-users] Berechnung in Datenbank Base 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]