Announcement

Collapse
No announcement yet.

Probleme mit IIF Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit IIF Abfrage

    Hallo zusammen,

    seit nunmerh zwei Tagen bin ich der Verzweiflung nahe, da ich versuche in einem Bericht (Reporting Services) in einer Spalte eine simple Kalkulation auszurechnen.
    Das Problem ist daß ja nicht durch 0 geteilt werden darf.

    Der Inhalt des Feldes sieht folgendermaaßen aus:

    Code:
    =iif(Fields!VK_erzielt.Value <> 0, 
    ((Fields!VK_erzielt.Value - Fields!EK.Value) / Fields!VK_erzielt.Value) * 100, 
    0)
    Eigentlich richtig, da das Ganze funktioniert wenn ich im True-Teil keine Divison eingebe.
    Ansonsten scheint es so zu sein, daß vor der Prüfung zunächst die Division durchgeführt wird, die dann auch zu Fehlern führen kann.

    Hat jemand einen Tip für mich ?
    Muß man irgendwo angeben, wann die Prüfung stattfinden soll.

    Lustig ist daß folgender Code funktioniert.

    Code:
    =iif(Fields!VK_erzielt.Value <> 0, "NICHT NULL", "NULL")
    Es wäre klasse, wenn jemand mir helfen könnte.

    Danke !

  • #2
    die dann auch zu Fehlern führen kann.
    Bei Dir kommt ein Fehler? Bei mir gibt er "+unendlich" aus, wenn ich druch 0 teile. Kann es vielleicht sein, das "Fields!VK_erzielt.Value" eigentlich NULL ist und nicht 0?
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Eigentlich sollte das Feld 0 enthalten (laut Tabelle)
      Wenn ich in der IIF-Abfrage auf 0 prüfe und dann in dem True-Teil nicht rechne sondern irgendetwas ausgebe (der False-Teil analog) dann scheint das Sytem die Abfrage richtig zu verstehen.

      Beim Berechnen der Kalk. kommt dann in den Berichtsspalten #Error.
      Kann man denn durch Formatierung etc. das #Error ausblenden ?

      Comment


      • #4
        Von VB kennt man es, das bei IIF unabhängig von der Bedingung immer beide Teile ausgewertet werden, was dann zu Fehlern führt; das scheint bei Dir dann auch so zu sein. Wie gesagt, ich kann es nicht nachvollziehen (vielleicht anderer Patch-Stand).

        Du kannst übers Property "Visibility" => "Hidden" das Feld per "Ausdruck" ausblenden lassen, wenn der Wert des Feldes = 0 ist.
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          Habe gerade einmal die Sache in VB2008 gebaut.
          Statt IIF muss man IF nehmen und dann funktioniert auch die Abfrage.
          (Hilft mir aber hier leider nicht weiter.)

          Kann man den den Inhalt beim Ausblenden auf #Error pürfen und dann ausblenden ?

          Habe sonst leider keine Idee.

          Comment


          • #6
            Da Du weiß, wann es passiert (Fields!VK_erzielt.Value = 0), kannst Du das nutzt, um das Feld auf unsichtbar zu setzen.
            Olaf Helper

            <Blog> <Xing>
            * cogito ergo sum * errare humanum est * quote erat demonstrandum *
            Wenn ich denke, ist das ein Fehler und das beweise ich täglich

            Comment


            • #7
              Hätte ich auch selbst draufkommen können - Danke !

              Comment

              Working...
              X