[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2011
    Beiträge
    94

    SQL where (a-b) = false

    Hallo zusammen,

    MS Access mit IBM ODBC Treiber generiert ein SQL mit folgendem Syntax


    select * from tabelle
    where (Bmenge <> Lmenge) = -1


    Bis V7R2M0 wurde das vom ODBC Treiber akzeptiert. AB V7R3M0 nicht mehr. Gibt Einstellungen im ODBC Treiber oder in MS Access damit der generierte MS Access SQL ausgeführt werden kann?

    Gruss Olaf Ulbrich

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ich weiß nicht, was das "-1" noch bewirken soll.
    Auch MS-Access macht sowas nicht von alleine, mir ist das zumindest unbekannt.
    Ansonsten kann man es ggf. noch mit "true" oder "false" versuchen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ich weiß nicht, was das "-1" noch bewirken soll.
    Auch MS-Access macht sowas nicht von alleine, mir ist das zumindest unbekannt.
    Ansonsten kann man es ggf. noch mit "true" oder "false" versuchen.
    ... just to fool the russians! Warum denn einfach (where bmenge = lmenge), wenns auch komplizierter geht.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Soweit ich das verstanden habe bedeutet "-1" doch "True". Warum schreibst Du dann nicht einfach folgendes?

    select * from tabelle
    where Bmenge <> Lmenge

    Gruß,
    KM

  5. #5
    Registriert seit
    Mar 2011
    Beiträge
    94
    Ich codiere das so nicht sondern MS Access. Das Problem sitzt vor dem Rechner. Wir haben Mitarbeiter die im WYSIWYG Verfahren unter MS Access die Tabellenverknüpfungen und where Bedingungen zusammenklicken. MS Access generiert dann das SQL. Das hat bis V7R2 funktioniert. In V7R3 nicht mehr.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Das kann ich nicht so ganz glauben (V6R1):

    > select * from kdst
    where (kdkdnr <> 0) = -1
    Token = ungültig. Gültige Token: FOR SKIP WITH FETCH ORDER UNION EXC
    ===> select * from kdst
    where (kdkdnr <> 0) = -1

    Bist du sicher, dass dieser SQL auch tatsächlich beim Treiber ankam?
    Syntaktisch ist das nämlich generell nicht erlaubt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •