none
Berechnetes Berichtsfeld ist Leer !

    Frage

  • Ich berechne in einem textfeld die Summe aus 2 anderen Feldern.

    Das erste Feld enthält IMMER eine Zahl, das zweite unter bestimmten Bedingungen die anderweitig berechnete Umsatzsteuer, meist aber NULL.

    In den Fällen, in denen das besate Feld die Summe aus Zahl + NULL  enthalten soll (also Brutto = netto), ist das Feld leer.

    Ich vermute, dies ist die Folge des Versuchs eine Zahl und NULL zu addieren.

    Als Workaround könnte ich per wenn(;;)-Klausel statt NULL, 0 addieren - aber geht das auch solider ?

     

    Mittwoch, 1. Juni 2011 09:36

Antworten

  • hi,

    benutze die NZ()-Funktion, z.B. in der Datenherkunft des Formulars als SQL:

    SELECT  *,
            Feld1 + Nz(Feld2, 0) AS NeuesFeld
    FROM    Tabelle ;

    Microsoft MVP Office Access
    https://mvp.support.microsoft.com/profile/Stefan.Hoffmann
    • Als Antwort markiert NicoNi Mittwoch, 1. Juni 2011 10:37
    Mittwoch, 1. Juni 2011 09:49
    Moderator
  • Hallo NicoNi,

    NicoNi schrieb folgendes:

    Ich berechne in einem textfeld die Summe aus 2 anderen Feldern.

    Das erste Feld enthält IMMER eine Zahl, das zweite unter bestimmten Bedingungen die anderweitig berechnete Umsatzsteuer, meist aber NULL.

    In den Fällen, in denen das besate Feld die Summe aus Zahl + NULL  enthalten soll (also Brutto = netto), ist das Feld leer.

    Ich vermute, dies ist die Folge des Versuchs eine Zahl und NULL zu addieren.

    Als Workaround könnte ich per wenn(;;)-Klausel statt NULL, 0 addieren - aber geht das auch solider ?

    als Steuerelementinhalt einen neuen Textfeldes:
    = [FeldmitZahl] + NZ([FeldWasAuchNULL_IST];0)

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    • Als Antwort markiert NicoNi Mittwoch, 1. Juni 2011 10:37
    Mittwoch, 1. Juni 2011 09:50
    Moderator

Alle Antworten

  • hi,

    benutze die NZ()-Funktion, z.B. in der Datenherkunft des Formulars als SQL:

    SELECT  *,
            Feld1 + Nz(Feld2, 0) AS NeuesFeld
    FROM    Tabelle ;

    Microsoft MVP Office Access
    https://mvp.support.microsoft.com/profile/Stefan.Hoffmann
    • Als Antwort markiert NicoNi Mittwoch, 1. Juni 2011 10:37
    Mittwoch, 1. Juni 2011 09:49
    Moderator
  • Hallo NicoNi,

    NicoNi schrieb folgendes:

    Ich berechne in einem textfeld die Summe aus 2 anderen Feldern.

    Das erste Feld enthält IMMER eine Zahl, das zweite unter bestimmten Bedingungen die anderweitig berechnete Umsatzsteuer, meist aber NULL.

    In den Fällen, in denen das besate Feld die Summe aus Zahl + NULL  enthalten soll (also Brutto = netto), ist das Feld leer.

    Ich vermute, dies ist die Folge des Versuchs eine Zahl und NULL zu addieren.

    Als Workaround könnte ich per wenn(;;)-Klausel statt NULL, 0 addieren - aber geht das auch solider ?

    als Steuerelementinhalt einen neuen Textfeldes:
    = [FeldmitZahl] + NZ([FeldWasAuchNULL_IST];0)

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    • Als Antwort markiert NicoNi Mittwoch, 1. Juni 2011 10:37
    Mittwoch, 1. Juni 2011 09:50
    Moderator
  • Hallo NicoNi

    NicoNi wrote:

    Das erste Feld enthält IMMER eine Zahl, das zweite unter bestimmten
    Bedingungen die anderweitig berechnete Umsatzsteuer, meist aber NULL.

    In den Fällen, in denen das besate Feld die Summe aus Zahl + NULL
    enthalten soll (also Brutto = netto), ist das Feld leer.

    Was ja auch richtig ist. NULL bedeutet "nicht definiert". Wenn Du zu etwas nicht definiertem etwas hinzuzählst, ist das Resultat richtigerweise "nicht definiert", also NULL, und das wird nicht ausgegeben.

    Ich vermute, dies ist die Folge des Versuchs eine Zahl und NULL zu
    addieren.

    Es ligt eher am falschen Datenmodell. Wenn mit dem Feld bei der Addition was rauskommen soll, dann darf das Feld nicht NULL sein, sondern muss dann 0 drin haben. Die Eigenschaft des Tabellenfeldes müsste also auf "NOT NULL" gesetzt werden.

    Als Workaround könnte ich per wenn(;;)-Klausel statt NULL, 0 addieren -
    aber geht das auch solider ?

    Ja, das ist ein Workaround, wie auch die Nz() Funktion. Wenn Du beim zweiten Feld in der Abfrage, die hinter dem Bericht steht statt des Feldes die Formel "=Nz(DeinFeld; 0)" eingibst, dann kannst Du mit dem Workaround, das NULL Feld auf 0 zu wandeln, rechnen.

    Gruss
    Henry

    Donnerstag, 2. Juni 2011 04:51