none
Access 2010 ODBC via ACCDB Abfrage

    Frage

  • Hallo ich habe eine Abfrage unter Access die mit einer mdB/accdb funktioniert aber über eine ODBC Verbindung zum SQL Server 2012 leider nicht

    Abfrage:

    UPDATE tblArtikel LEFT JOIN tblArtikel_Zusatz ON tblArtikel.ArtikelNummer = tblArtikel_Zusatz.ArtikelNummer SET tblArtikel_Zusatz.ArtikelNummer = tblArtikel.ArtikelNummer
    WHERE (((tblArtikel_Zusatz.ArtikelNummer) Is Null));

    hintergrund ist das ich eine Tabelle habe in der datensätze stehen (tblArtikel) und mit dieser abfrage einen leeren datensatz in der tabelle tblArtikel_Zusatz anlegen möchte wenn dieser nicht vorhanden ist

    Fehlermeldung

    ODBC-Aufruf fehlgeschlagen

    Ungültiger Argumentenwert(#0)

    Donnerstag, 19. Juni 2014 08:12

Antworten

  • über eine ODBC Verbindung zum SQL Server 2012 leider nicht

    Hallo,

    die unterschiedlichen Datenbanksysteme implementieren zwar grundlegend ANSI SQL, aber jedes RDBMS hat seine Besonderheit und SQL Dialekte; und MS Access hat wirklich reichlich viele Besonderheiten. Will heissen, was in MS Access funktioniert, funktioniert in anderen RDBMS eher nicht.

    Im Transact-SQL UPDATE Statement darf man in der UPDATE Klausel nur ein Tabellennamen (bzw. Alias) angeben, JOINS müssen über die FROM Klausel gebildet werden =>

    UPDATE tblArtikel_Zusatz
    SET ArtikelNummer = tblArtikel.ArtikelNummer
    FROM tblArtikel 
         LEFT JOIN tblArtikel_Zusatz 
           ON tblArtikel.ArtikelNummer = tblArtikel_Zusatz.ArtikelNummer 
     WHERE (((tblArtikel_Zusatz.ArtikelNummer) Is Null));


    Olaf Helper

    [ Blog] [ Xing] [ MVP]


    • Bearbeitet Olaf HelperMVP Donnerstag, 19. Juni 2014 08:47
    • Als Antwort markiert MCDPone Donnerstag, 19. Juni 2014 09:35
    Donnerstag, 19. Juni 2014 08:47