Zum Inhalt springen

IF-Formel bei eigenen Datenbanken funktioniert bei Boolean nicht


pappadam1984

Empfohlene Beiträge

Hi,

 

hoffe jemand kann mir helfen. Vielleicht stehe ich auch einfach auf dem Schlauch. Ich habe eine eigene Datenbank angelegt mit etlichen unterschiedlichen Feldern. Einige davon sind Boolean. Jetzt habe ich eine Tabelle für die Auswertung erstellt. Da leider nicht alle mit Boolean vertraut sind und sich über die Bezeichnung Wahr/Falsch wundern, würde ich das gerne durch Ja/Nein ersetzen. Leider funktioniert es aber nicht. Als Formel habe ich in die Zeile geschrieben: =IF(('TuerDB'.'Seitenlicht'='Wahr'); 'Ja'; 'Nein') Es werden aber immer alle Elemente mit Nein angezeigt, obwohl ich einige schon entsprechend geändert haben.

Vielen Dank im Voraus.

iMac (Retina 5K, 27", 2020)

macOS Big Sur

Prozessor: 3,8 GHz 8-Core Intel Core i7

Speicher: 40 GB 2133 MHz DDR4

Grafikkarte: AMD Radeon Pro 5700 8 GB

 

 

Link zu diesem Kommentar

Die Formel stimmt schon so. In der Schweiz musst du die ; mit , ersetzen, damit es funktioniert. Viel einfacher und ohne die Formel kannst du auch einfach die entsprechenden Zellen als Boolean formatieren. Da kannst du dann auch ganz einfach definieren, dass statt Wahr/Falsch Ja/Nein stehen soll. (Rechtsklick auf Zelle und Zelle formatieren...)

Vectorworks 2024 - Architektur - Win 10

Link zu diesem Kommentar

Hi,

danke für deine Antwort. Leider scheint, dann aber die Formel nicht mehr zu funktionieren. @Marc Wittwer Oder war das immer so?

Dein Hinweis bezüglich der Formatierung war sehr hilfreich und hat gut geklappt. Vielen vielen Dank!

iMac (Retina 5K, 27", 2020)

macOS Big Sur

Prozessor: 3,8 GHz 8-Core Intel Core i7

Speicher: 40 GB 2133 MHz DDR4

Grafikkarte: AMD Radeon Pro 5700 8 GB

 

 

Link zu diesem Kommentar

@Ingenieurd das ist korrekt. Da WAHR/FALSCH bzw. TRUE/FALSE keine strings sind, dürfen da auch keine Anführungszeichen sein.

 

Unabhängig davon hats in VW2019 noch ein Bug in den Tabellen (zumindest für User in der Schweiz?). Fälschlicherweise wird jede if-Formel mit Gleichheitszeichen durch eine falsche Formel ersetzt.

=IF(A1=WAHR; 'Ja'; 'Nein') wird automatisch mit =A1=WAHR ersetzt, was völliger nonsense ist.

 

Die Formel geht aber noch einfacher, da TuerDB.Seitenlicht bereits ein Boolean ist, kann man den Wert gleich als Bedingung verwenden und sich das ganze =Wahr sparen:

=IF(TuerDB.Seitenlicht; 'Ja'; 'Nein')

Das Ganze ist aber nur eine Anmerkung zur Formel. Einfacher macht man das wie beschrieben über die Formatierung der Zelle.

  • Like 2

Vectorworks 2024 - Architektur - Win 10

Link zu diesem Kommentar
vor 29 Minuten schrieb Ingenieurd:

Hi,

das Wahr sollte m.E. nicht in Anführungszeichen stehen:

=IF(('TuerDB'.'Seitenlicht'=Wahr); 'Ja'; 'Nein') 

Gruß, Ingd

Ja. Das hatte ich übersehen. :classic_blush: Danke für den Hinweis! Zu den Anführungszeichen wollte ich noch kurz anmerken, dass es bei mir keinen Unterschied macht, wenn ich die Werte Ja/Nein mit Anführungszeichen schreibe oder ohne. Ist das bei euch auch so?

iMac (Retina 5K, 27", 2020)

macOS Big Sur

Prozessor: 3,8 GHz 8-Core Intel Core i7

Speicher: 40 GB 2133 MHz DDR4

Grafikkarte: AMD Radeon Pro 5700 8 GB

 

 

Link zu diesem Kommentar
vor 1 Minute schrieb herbieherb:

Unabhängig davon hats in VW2019 noch ein Bug in den Tabellen (zumindest für User in der Schweiz?). Fälschlicherweise wird jede if-Formel mit Gleichheitszeichen durch eine falsche Formel ersetzt.

=IF(A1=WAHR; 'Ja'; 'Nein') wird automatisch mit =A1=WAHR ersetzt, was völliger nonsense ist.

Ja, den Bug gibt es. Nicht nur in der Schweiz und nicht erst Vectorworks 2019. Wenn die Bedingung in Klammern steht, ist alles gut. =IF( ( A1=WAHR ) ; 'Ja'; 'Nein')

Aber du hast natürlich recht, dass beim boolean das etwas mit Kanonen auf Spazen schießen ist ?

Link zu diesem Kommentar
vor 9 Minuten schrieb herbieherb:

@Ingenieurd das ist korrekt. Da WAHR/FALSCH bzw. TRUE/FALSE keine strings sind, dürfen da auch keine Anführungszeichen sein.

Das mit dem String dachte ich mir auch. Aber ich hab es gerade auch in einer Tabelle mit PopUp-Feld probiert: =IF(('TuerDB'.'Tuerblatt'=Holz); Ja; Nein). Holz ist eigentlich ein String und sollte mit Anführungszeichen geschrieben werden. Aber es scheint auch ohne zu funktionieren.

Bildschirmfoto 2019-01-22 um 17.41.49.png

Bearbeitet von pappadam1984

iMac (Retina 5K, 27", 2020)

macOS Big Sur

Prozessor: 3,8 GHz 8-Core Intel Core i7

Speicher: 40 GB 2133 MHz DDR4

Grafikkarte: AMD Radeon Pro 5700 8 GB

 

 

Link zu diesem Kommentar
vor 8 Minuten schrieb pappadam1984:

Zu den Anführungszeichen wollte ich noch kurz anmerken, dass es bei mir keinen Unterschied macht, wenn ich die Werte Ja/Nein mit Anführungszeichen schreibe oder ohne. Ist das bei euch auch so?

 

vor 4 Minuten schrieb pappadam1984:

Holz ist eigentlich ein String und sollte mit Anführungszeichen geschrieben werden. Aber es scheint auch ohne zu funktionieren.

Ich hab das eben auch ohne Anführungszeichen probiert. Der kleine Programmierer in mir ist etwas zusammengezuckt, aber das ist bei mir auch so ?

Ich halte dennoch daran fest strings IMMER in Anführungszeichen zu setzten - auch wenn Vectorworks hier scheinbar interpretieren kann.

Link zu diesem Kommentar
vor 10 Minuten schrieb pappadam1984:

Zu den Anführungszeichen wollte ich noch kurz anmerken, dass es bei mir keinen Unterschied macht, wenn ich die Werte Ja/Nein mit Anführungszeichen schreibe oder ohne. Ist das bei euch auch so? 

Ist so. Solange man keine Sonderzeichen und Leerschläge in Strings hat und sie auch sonst nicht verwechselt werden können z.B. mit einem Boolean, darf man die Anführungszeichen weglassen. Das ist auch bei Datenbankabfragen der Fall.

=IF((TuerDB.Tuerblatt=Holz); Ja; Nein) funktioniert zum Beispiel auch.

Zur Sicherheit schreibt Vectorworks die aber bei jedem String und jeder Datenbankabfrage hinzu.

vor 9 Minuten schrieb Ingenieurd:

Wenn die Bedingung in Klammern steht, ist alles gut.

Tiptop Workaround. Das wusste ich noch nicht. Thx.

Bearbeitet von herbieherb

Vectorworks 2024 - Architektur - Win 10

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      23,9Tsd
    • Beiträge insgesamt
      123,1Tsd
×
×
  • Neu erstellen...