sammy65
Goto Top

Aktualisierungsabfrage unter Access 2013

Hallo miteinander,

ich habe in meiner Access 2013 Datenbank eine Tabelle sysadm_stueckliste per odbc verknüpft.
Jetzt benötige ich in dieser DB ein zusätzliches Ja/Nein Feld, also habe ich diese Tabelle noch zusätzlich 1 x importiert. Die neue Tabelle heisst jetzt sysadm_stueckliste_local

Hier die Screenshots der Strukturen:

sysadm_stueckliste_local
693f978c8df1c3963b5e5d855affc216

sysadm_stueckliste
01393a2b3770d4862aaea9b39ebd3170

Ich habe in der _local version ein zusätzliches Feld "Inhalt" als ja / Nein eingebaut.

Ich möchte jetzt von Zeit zu Zeit die sysadm_stueckliste_local aufgrund der sysadm_stueckliste aktualisieren und das fehlende Feld "Inhalt" ergänzen.

Geht das? und kann mir jemand helfen?

Da ich mit SQL noch nicht so bewandert bin und ich noch lerne, benötige ich Hile beim SQL Statement

Content-Key: 227220

Url: https://administrator.de/contentid/227220

Printed on: April 18, 2024 at 02:04 o'clock

Member: forumEL
forumEL Feb 21, 2014 at 11:28:49 (UTC)
Goto Top
Hallo,

zuerst solltest du in deiner Tabelle "_local" die gleichen Primärschlüssel erzeugen, um dann später die Tabellen abgleichen zu können. Dazu würdest du dann eine Aktualisierungsabfrage erstellen.
Da ich nur Access 2007 habe sieht bei mir das SQL Statement so aus.

INSERT INTO SYSADM_STUECKLISTE_local ( BAUGRUPPE, POSNR, VARIANTE, ARTIKELNR, BEZEICHNUNG, weitere )
SELECT SYSADM_STUECKLISTE.BAUGRUPPE, SYSADM_STUECKLISTE.POSNR, SYSADM_STUECKLISTE.VARIANTE, SYSADM_STUECKLISTE.ARTIKELNR, SYSADM_STUECKLISTE.BEZEICHNUNG, SYSADM_STUECKLISTE.weitere
FROM SYSADM_STUECKLISTE LEFT JOIN SYSADM_STUECKLISTE_local ON (SYSADM_STUECKLISTE.ARTIKELNR = SYSADM_STUECKLISTE_local.ARTIKELNR) AND (SYSADM_STUECKLISTE.VARIANTE = SYSADM_STUECKLISTE_local.VARIANTE) AND (SYSADM_STUECKLISTE.POSNR = SYSADM_STUECKLISTE_local.POSNR) AND (SYSADM_STUECKLISTE.BAUGRUPPE = SYSADM_STUECKLISTE_local.BAUGRUPPE)
WHERE (((SYSADM_STUECKLISTE_local.BAUGRUPPE) Is Null) AND ((SYSADM_STUECKLISTE_local.POSNR) Is Null) AND ((SYSADM_STUECKLISTE_local.VARIANTE) Is Null) AND ((SYSADM_STUECKLISTE_local.ARTIKELNR) Is Null));

Sollte sich aber nicht von Access 2013 unterscheiden. Ich habe jetzt auch nicht alle Felder aufgenommen.

Für eine Anzeige der sich unterscheidenden Sätze könntest du eine Abfrage in der Art verwenden.

SELECT SYSADM_STUECKLISTE_local.BAUGRUPPE, SYSADM_STUECKLISTE_local.POSNR, SYSADM_STUECKLISTE_local.VARIANTE, SYSADM_STUECKLISTE_local.ARTIKELNR, SYSADM_STUECKLISTE.BAUGRUPPE, SYSADM_STUECKLISTE.POSNR, SYSADM_STUECKLISTE.VARIANTE, SYSADM_STUECKLISTE.ARTIKELNR, SYSADM_STUECKLISTE.BEZEICHNUNG, SYSADM_STUECKLISTE.weitere
FROM SYSADM_STUECKLISTE LEFT JOIN SYSADM_STUECKLISTE_local ON (SYSADM_STUECKLISTE.ARTIKELNR = SYSADM_STUECKLISTE_local.ARTIKELNR) AND (SYSADM_STUECKLISTE.VARIANTE = SYSADM_STUECKLISTE_local.VARIANTE) AND (SYSADM_STUECKLISTE.POSNR = SYSADM_STUECKLISTE_local.POSNR) AND (SYSADM_STUECKLISTE.BAUGRUPPE = SYSADM_STUECKLISTE_local.BAUGRUPPE)
WHERE (((SYSADM_STUECKLISTE_local.BAUGRUPPE) Is Null) AND ((SYSADM_STUECKLISTE_local.POSNR) Is Null) AND ((SYSADM_STUECKLISTE_local.VARIANTE) Is Null) AND ((SYSADM_STUECKLISTE_local.ARTIKELNR) Is Null));

Auch hier wieder nur einen Teil der Felder eingefügt.

In Access kann man das ganze ganz gut visuell abarbeiten.


viel Erfolg