Tresensitzer: Syntax bei TRUE or FALSE Abfrage

Hallo,

ich hab grad nicht die Syntax vorliegen, wenn ich eine SELECT-Anweisung habe z.B.

set rs=db.Execute=("SELECT * FROM Adressen")

(also TRUE ist nicht in "")

dann die Abfrage:

<% IF rs("Daten")="FALSE" THEN %>tu dies

<% IF rs("Daten")="TRUE" THEN %><a href="daten.asp?art=Daten3">Daten</a>

Das TRUE darf aber nicht mit "" stehen, aber wie schreib ichs denn?

Danke schonmal für eure Hilfe

Tresensitzer

  1. Hallo,

    ich hab grad nicht die Syntax vorliegen, wenn ich eine SELECT-Anweisung habe z.B.

    set rs=db.Execute=("SELECT * FROM Adressen")

    (also TRUE ist nicht in "")

    dann die Abfrage:

    <% IF rs("Daten")="FALSE" THEN %>tu dies

    <% IF rs("Daten")="TRUE" THEN %><a href="daten.asp?art=Daten3">Daten</a>

    Das TRUE darf aber nicht mit "" stehen, aber wie schreib ichs denn?

    Danke schonmal für eure Hilfe

    Tresensitzer

    Hallo,

    falls Du ein Feld von wirklich dem Datentyp boolean(=ja/nein) in Access ansprichst, kannst du verwenden:

    WHERE feld = true  [false]
    WHERE feld = -1    [0]

    in SQL-Server (Felddatentyp: byte)

    WHERE feld = -1    [0]

    Gruss,
    Uwe Nohl

    1. Hallo

      ich nochmal

      in der .asp: if rs("feld") = -1  [0]

      Gruss,
      Uwe Nohl

      1. Hallo

        ich nochmal

        in der .asp: if rs("feld") = -1  [0]

        Gruss,
        Uwe Nohl

        Es wir trotzdem nichts angezeigt, wenn ich es so schreibe:

        set rs=db.Execute("SELECT * FROM adressen")
        ...
        ...
        <% IF rs("Data3")=0 THEN %>
        <tr>
        <td>
          <a href="daten.asp?art=Data3">
        </td>
        </tr>
        <% end if %>
        ...
        ...
        Auch mit false also -1 werden auch dort wo data3 true ist nichts angezeigt. Komisch..

        1. Es wir trotzdem nichts angezeigt, wenn ich es so schreibe:

          set rs=db.Execute("SELECT * FROM adressen")
          ...
          ...
          <% IF rs("Data3")=0 THEN %>
          <tr>

          »»  <td>

          <a href="daten.asp?art=Data3">

          »»  </td>

          </tr>
          <% end if %>
          ...
          ...
          Auch mit false also -1 werden auch dort wo data3 true ist nichts angezeigt. Komisch..

          »»

          Hallo,
          umgekehrt wird ein Schuh draus:

          false =gleichbedeutend mit 0
          true =gleichbedeutend mit -1

          Gruss,
          Uwe Nohl

          1. Es wir trotzdem nichts angezeigt, wenn ich es so schreibe:

            set rs=db.Execute("SELECT * FROM adressen")
            ...
            ...
            <% IF rs("Data3")=0 THEN %>
            <tr>
            »»  <td>
              <a href="daten.asp?art=Data3">
            »»  </td>
            </tr>
            <% end if %>
            ...
            ...
            Auch mit false also -1 werden auch dort wo data3 true ist nichts angezeigt. Komisch..

            »»

            Hallo,
            umgekehrt wird ein Schuh draus:

            false =gleichbedeutend mit 0
            true =gleichbedeutend mit -1

            Gruss,
            Uwe Nohl

            Danke, aber ich krieg immer ein leeres Feld heraus.
            Die checkbox ist ebr checked in der Access-Datenbank. Es wird tortzdem nichts angezeigt. Muss man die checkbox irgendwie einrichten? Habe auf Ja/Nein Wert eingestellt..

            Danke

            1. Danke, aber ich krieg immer ein leeres Feld heraus.
              Die checkbox ist ebr checked in der Access-Datenbank. Es wird tortzdem nichts angezeigt. Muss man die checkbox irgendwie einrichten? Habe auf Ja/Nein Wert eingestellt..

              Danke

              Hallo,

              folgender Code führt bei mir zur Ausgabe

              TrueTrue
              :

              <%Set conn = CreateObject("ADODB.Connection")
              conn.Open "*****"
              Set rs = CreateObject("ADODB.Recordset")

              sql = "SELECT feld FROM tabelle WHERE feld = true"
              rs.Open sql, conn
              Response.Write(rs("feld"))
              rs.Close

              sql = "SELECT feld FROM tabelle WHERE feld = -1"
              rs.Open sql, conn
              Response.Write(rs("feld"))
              rs.Close

              Set rs = NOTHING
              conn.Close
              Set conn = NOTHING
              %>

              feld ist bei mir ein ganz normales ja/nein-Feld in Access ohne irgenwelche Sondereinrichtungen. Stimmt bei Dir vielleicht die Logik der Abfrage nicht?

              Gruss
              Uwe Nohl

              1. Danke, aber ich krieg immer ein leeres Feld heraus.
                Die checkbox ist ebr checked in der Access-Datenbank. Es wird tortzdem nichts angezeigt. Muss man die checkbox irgendwie einrichten? Habe auf Ja/Nein Wert eingestellt..

                Danke

                Hallo,

                folgender Code führt bei mir zur Ausgabe

                TrueTrue
                :

                <%Set conn = CreateObject("ADODB.Connection")
                conn.Open "*****"
                Set rs = CreateObject("ADODB.Recordset")

                sql = "SELECT feld FROM tabelle WHERE feld = true"
                rs.Open sql, conn
                Response.Write(rs("feld"))
                rs.Close

                sql = "SELECT feld FROM tabelle WHERE feld = -1"
                rs.Open sql, conn
                Response.Write(rs("feld"))
                rs.Close

                Set rs = NOTHING
                conn.Close
                Set conn = NOTHING
                %>

                feld ist bei mir ein ganz normales ja/nein-Feld in Access ohne irgenwelche Sondereinrichtungen. Stimmt bei Dir vielleicht die Logik der Abfrage nicht?

                Gruss
                Uwe Nohl

                Vielen Dank für die mehrfache Unterstützung.
                Jetzt habe ich auch den Fehler gefunden.
                Das Formaulfeld wurde nicht mit übergeben, daher wusste die Anfrage nicht, nach was gesucht werden sollte.

                Also, Danke nochmal

  2. Hallo Tresensitzer,

    Hallo,

    ich hab grad nicht die Syntax vorliegen, wenn ich eine SELECT-Anweisung habe z.B.

    set rs=db.Execute=("SELECT * FROM Adressen")

    [...]

    Das TRUE darf aber nicht mit "" stehen, aber wie schreib ichs denn?

    [...]

    SQL = "SELECT * FROM <tabelle> WHERE <ja/nein-feld> = -1"
    ergibt alle Sätze, bei denen <ja/nein-feld> True ist (MS-Datenbanken)

    SQL = "SELECT * FROM <tabelle> WHERE <ja/nein-feld> = 0"
    ergibt alle Sätze, bei denen <ja/nein-feld> False ist (MS-Datenbanken)

    In MS Access kann man alternativ auch
    SQL = "SELECT * FROM <tabelle> WHERE <ja/nein-feld> = True"
    oder
    SQL = "SELECT * FROM <tabelle> WHERE <ja/nein-feld> = False"
    schreiben. Das empfiehlt sich aber nicht, da eine Umstellung
    auf andere Datenbanken dann eine Umstellung der SQL-Statements
    erfordert.

    Tschau, Stefan