Hallo Marino,

> > Du nimmst als Grundlage für Dein Formular nicht die Tabelle, sondern eine
> > Abfrage:
> > SELECT "ID", "Preis",  "MWSt", "Preis"/((100+"MWSt") / 100) AS "Netto" 
> > FROM "Tabelle"
> >
> > Das Wesentliche an der Abfrage: Sie darf sich nur auf eine Tabelle
> > beziehen.
> 
> und genau hier möchte ich einhaken:
> 
> was machst Du, wenn die Daten nicht in der gleichen Tabelle stehen.
> 
> Genau das war ja damals mein Problem.
> 
> Ich habe eine Tabelle in der die Daten über die Person, sprich der Lohn
> und Anzahl Kinder des Betreffenden, stehen
> und eine zweite in welchem die momentan gültigen Abzüge und
> Zulagen-Sätze, je nach Status -z.B. Verheiratet oder Ledig und
> Kinderzulage/Kind stehen. Diese wollen miteinander verrechnet werden.

Wenn es Dir nichts ausmacht, dass die Daten erst anschließend in dem Formular 
auftauchen würde ich das über ein Subformular lösen. Dann kann ja die Abfrage 
auch ruhig nicht editierbar sein. Du lässt einfach einen Tabellenstreifen mit 
genau einem Datensatz unterhalb Deines Formulars nach dem Abspeichern 
einblenden, um die notwendigen Informationen zu erhalten.

Schöner machbar ist das natürlich über Makros, die den gesuchten Wert in ein 
Formularfeld schreiben.

Nur: Das Ganze führt dann natürlich weiter als es Eberhard mit seiner 
Fragestellung erhalten wollte. Dort stand nur etwas von dieser direkten 
Berechnung, die oben steht.

Makrobeispiel:

SUB Brutto
        oDoc=thisComponent
        oDrawpage=oDoc.drawpage
        oForm=oDrawpage.forms.getByName("Artikel")
        oFeld=oForm.getByName("Brutto")
        inSkonto = oForm.getByName("Skonto").CurrentValue
        doMWSt = oForm.getByName("MWSt").CurrentValue
        doPreis =oForm.getByName("Preis").CurrentValue
        doBrutto = doPreis + doPreis * doMWSt / 100 - (doPreis + doPreis * 
doMWSt / 
100) * inSkonto / 100
        oFeld.BoundField.updateDouble(doBrutto)
        E_Preis_Brutto
END SUB

(die Variablen sind bei mir außerhalb für den gesamten Makro-Container 
deklariert - o... DIM o... AS OBJECT; in... DIM in.. AS INTEGER usw)

Die Felder im Formular werden angesteuert, die Werte ausgelesen, mit den Werte 
gerechnet und das Ergebnis in ein weiteres Feld geschrieben.

Gruß

Robert

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an