Vinzenz: Access XP: UPDATE mit INNER JOIN möglich?

Beitrag lesen

Hallo small-step,

Aktualisiert werden soll die Rechnungsnummer in der Tabelle Arbeitszeit bei den Einträgen, die über die Tabelle Projektliste mit einem Eintrag der Tabelle Projekte verknüpft sind. Ich habe es mit etwas in dieser Art versucht

Verstehe ich das richtig:
Du hast drei Tabellen

tbArbeitszeit
      FKProjektliste
      Rechnung
      [...]
  tbProjekte
      PKProjekt
      [...]
  tbProjektliste
      FKProjekt
      PKProjektliste
      [...]

und folgenden Beziehungen:

tbProjekte     1:n tbProjektliste (d.h. zu einem Projekt können mehrere Projektlisten gehören)
  tbProjektliste 1:n tbArbeitszeit  (d.h. zu jeder Projektliste können mehrere Arbeitszeiten)

UPDATE tbArbeitszeit
    (INNER JOIN tbProjektliste
        ON tbProjekte.PKProjekt = tbProjektliste.FKProjekt)
            INNER JOIN tbArbeitszeit
                ON tbProjektliste.PKProjektliste = tbArbeitszeit.FKProjektliste
    SET tbArbeitszeit.Rechnung = '4-1093534116'
    WHERE tbProjekte.PKProjekt = 4

Allerdings scheine ich einen Syntaxfehler eingearbeitet zu haben.

Dann machst Du Dir die Arbeit viel zu kompliziert:

UPDATE tbArbeitszeit a
        INNER JOIN tbProjektliste pl ON a.FKProjektliste = pl.PKProjektliste
    SET a.Rechnung = '4-1093534116'
    WHERE pl.FKProjekt = 4

sollte es tun.

Freundliche Grüsse,

Vinzenz