Feld aus Tabelle1 in tablle2 aktualisieren
Hallo Accessler
Stehe gerade vor einem Problem und komme nicht weiter
Ich habe eine verknüpfte Tabelle (tbl_SAP) in Access eingebunden (500DS)!
Folgende Struktur:
TeileNr Benennung Stückzahl Sonstiges
A8128 Schraube 2 Firma xy
Ich möchte jetzt per Berichte aufzeigen welche DS hinzugefügt wurden und welche geändert wurden
Gleichzeitig möchte ich noch jeden einzelnen DS im Endlosformular kommentieren etc
(benötige also noch zusätzliche Spalten die ich in einer verknüpften tabelle nicht anlegen kann)
Dazu habe ich mir einfach eine Kopie von der tbl_SAP gemacht + zusätzliche Spalten (für kommentare) und vergleiche sie per Inkonsoitenzabfrage (bezogen auf TeileNR)
mit der tbl_SAP
tbl_SAP mit tbl_Kopie = welche TeileNr wurden hinzugefügt
tbl_kopie mit tbl_SAP = welche TeileNR wurden gelöscht
Anschließend füge oder lösche ich das Abfrageergebnis meiner tbl_Kopie zu
Somit habe ich immer einen aktuellen Stand der DS und kann gleichzeitig noch manuell die Tabelle bearbeiten (spalten etc) was bei einer verknüpften nicht geht"
Jetzt mein problem:
Wenn einer in der tbl_SAP weder einen DS löscht noch hinzufügt sondern nur ein Feldinhalt eines DS ändert habe ich die Änderung nicht in meiner tbl_kopie enthalten!
Habe dort dann den alten stand drin
Ich müsste nach der Inkonsitenzabfrage Access sagen das er die Felder aktualisieren soll!
Nehme die TeileNR aus der tbl_SAP suche sie in der tbl_Kopie und aktualisiere dort die Felder Benenunng, Stückzahl, Sonstiges
Wie geht sowas?
Würde mich über Unterstützung freuen
Gruß
Stehe gerade vor einem Problem und komme nicht weiter
Ich habe eine verknüpfte Tabelle (tbl_SAP) in Access eingebunden (500DS)!
Folgende Struktur:
TeileNr Benennung Stückzahl Sonstiges
A8128 Schraube 2 Firma xy
Ich möchte jetzt per Berichte aufzeigen welche DS hinzugefügt wurden und welche geändert wurden
Gleichzeitig möchte ich noch jeden einzelnen DS im Endlosformular kommentieren etc
(benötige also noch zusätzliche Spalten die ich in einer verknüpften tabelle nicht anlegen kann)
Dazu habe ich mir einfach eine Kopie von der tbl_SAP gemacht + zusätzliche Spalten (für kommentare) und vergleiche sie per Inkonsoitenzabfrage (bezogen auf TeileNR)
mit der tbl_SAP
tbl_SAP mit tbl_Kopie = welche TeileNr wurden hinzugefügt
tbl_kopie mit tbl_SAP = welche TeileNR wurden gelöscht
Anschließend füge oder lösche ich das Abfrageergebnis meiner tbl_Kopie zu
Somit habe ich immer einen aktuellen Stand der DS und kann gleichzeitig noch manuell die Tabelle bearbeiten (spalten etc) was bei einer verknüpften nicht geht"
Jetzt mein problem:
Wenn einer in der tbl_SAP weder einen DS löscht noch hinzufügt sondern nur ein Feldinhalt eines DS ändert habe ich die Änderung nicht in meiner tbl_kopie enthalten!
Habe dort dann den alten stand drin
Ich müsste nach der Inkonsitenzabfrage Access sagen das er die Felder aktualisieren soll!
Nehme die TeileNR aus der tbl_SAP suche sie in der tbl_Kopie und aktualisiere dort die Felder Benenunng, Stückzahl, Sonstiges
Wie geht sowas?
Würde mich über Unterstützung freuen
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 135333
Url: https://administrator.de/contentid/135333
Ausgedruckt am: 26.11.2024 um 17:11 Uhr
19 Kommentare
Neuester Kommentar
Hallo JonnyCash!
Da Du zwischen den Tabellen ja eigentlich eine 1:1-Beziehung hergestellt hast (im Beispiel über den jeweiligen PK "Feld1"), sollte doch eine Aktualisierungsabfrage der Art
möglich sein ...
Grüße
bastla
Da Du zwischen den Tabellen ja eigentlich eine 1:1-Beziehung hergestellt hast (im Beispiel über den jeweiligen PK "Feld1"), sollte doch eine Aktualisierungsabfrage der Art
UPDATE tbl_Kopie INNER JOIN tbl_SAP ON tbl_Kopie.Feld1 = tbl_SAP.Feld1 SET tbl_Kopie.Feld2 = tbl_SAP.Feld2, tbl_Kopie.Feld3 = tbl_SAP.Feld3, ...;
Grüße
bastla
Hallo Jonny,
überdenke dein DB-Konzept. Es macht keinen Sinn, eine Tabelle zu doppeln und anschließend zu kontrollieren.
Einfacher und sicherer: Nutze die bereits vorhandene Tabelle und hänge einfach deine zusätzlichen Felder in einer zweiten Tabelle per Abfrage dran.
Nutze dann die Abfrage für dein Formular, mit dem du die Datensätze bearbeitest.
Vorteil:
- Gelöschte sind bereits gelöscht
- die Daten sind aktuell
Grüße aus Rostock
Wolfgang
(Netwolf)
überdenke dein DB-Konzept. Es macht keinen Sinn, eine Tabelle zu doppeln und anschließend zu kontrollieren.
Einfacher und sicherer: Nutze die bereits vorhandene Tabelle und hänge einfach deine zusätzlichen Felder in einer zweiten Tabelle per Abfrage dran.
Nutze dann die Abfrage für dein Formular, mit dem du die Datensätze bearbeitest.
Vorteil:
- Gelöschte sind bereits gelöscht
- die Daten sind aktuell
Grüße aus Rostock
Wolfgang
(Netwolf)
Hallo Jonny,
So langsam frage ich mich, in welchem Forum ich dir antworten soll
Du hast zwei Tabellen über die Artikelnummer verbunden (in einer Abfrage)
Bei neuen Datensätzen fehlt die Zuordnung in der zweiten Tabelle -> das kann man auswerten
Bei gelöschten DS hast du Datensätze in der lokalen aber keine in der verknüpften Tabelle-> das kann man auswerten
Wenn du nicht in der verknüpften Tabelle schreiben/löschen etc. kannst, wie kommen dann die lokalen Änderungen / Erweiterungen /Löschungen in diese Tabelle? Welche Verknüpfungsart nutzt du denn? Welche Rechst du bei dieser Tabelle?
Grüße aus Rostock
Wolfgang
(Netwolf)
So langsam frage ich mich, in welchem Forum ich dir antworten soll
Du hast zwei Tabellen über die Artikelnummer verbunden (in einer Abfrage)
Bei neuen Datensätzen fehlt die Zuordnung in der zweiten Tabelle -> das kann man auswerten
Bei gelöschten DS hast du Datensätze in der lokalen aber keine in der verknüpften Tabelle-> das kann man auswerten
Wenn du nicht in der verknüpften Tabelle schreiben/löschen etc. kannst, wie kommen dann die lokalen Änderungen / Erweiterungen /Löschungen in diese Tabelle? Welche Verknüpfungsart nutzt du denn? Welche Rechst du bei dieser Tabelle?
Grüße aus Rostock
Wolfgang
(Netwolf)
Hallo JonnyCash!
Die ArtNr gibt es ja wohl auch in der "tbl_Kopie" ...
Grüße
bastla
Tabelle SAP und tabelle Kopie stehen ja nicht in Beziehung
Und was hält Dich davon ab, die Beziehung herzustellen?Die ArtNr gibt es ja wohl auch in der "tbl_Kopie" ...
UPDATE tbl_Kopie INNER JOIN tbl_SAP ON tbl_Kopie.ArtNr = tbl_SAP.ArtNr SET tbl_Kopie.Benennung = tbl_SAP.Benennung, ...;
bastla
Moin JonnyCash,
bitte fasse meinen Kommentar als konstruktiv gemeint auf und nicht als Flamerei.
Ich denke, wenn du dich mal eine halbe Stunde mit einem Datenbank- oder
(falls in Reichweite) einem Dataware-Fuzzy zusammensetzt
mit 'ner Kanne Kaffee, einer Schüssel Besprechungskekse, ein bisschen Schmierpapier & ein paar bunten Stiften...
...dann kannst du viel viel unnötigen Aufwand ersparen.
Das Datenmodell (oder eher Datengemenge) hält von hier bis nächsten Donnerstag und taugt nicht um deine Anforderungen abzubilden.
Wenn du schreibst:
Nur die Schlussfolgerung ist falsch.
Was du brauchst, ist keine Eins-zu-Eins-Kopie der Tabelle, sondern eine historisierte Tabelle,
d.h. deine "Kopie" muss zusätzlich mindestens die Informationen "Gültig von", "Gültig bis" enthalten.
Und, wenn es sich wirklich um verschnarchte 500 Datensätzchen handelt... ja hey!
Dann kopier dir diese Original-Tabelle 1:1, lass VOR dem Updaten deiner historisierten Tabelle noch mal einen Bericht drüberlaufen, der dir nur die Änderungen der "in Quelle aktualisierten Sätze" in den Feldern zeigt, die euch interessieren.
Und was die "Beziehungen" und referentiellen Integritäten angeht, um die du dir einen Kopf machst... was soll's?
Wir reden hier von 500 Datensätzen, wie du schreibst (oder von deutlich unter 1 Million, wie ich es ausdrücken würde).
Selbst wenn deine Access-Tabelle nicht einmal einen Index/PK auf der ArtNR hätte, könntest du das mit der durchschnittlichen Prozessorleistung eines MP3-Players abfackeln.
Konzentrier die Bemühungen eher auf die Funktionalität, die ihr braucht und tausche kurz die Tastatur gegen Flipchart und bunte Malstifte.
Eine direkte Gegenprüfung von verknüpfter externer Tabelle mit einer Eins-zu-Eins-Kopie derslben vom Vortag greift zu kurz.
Grüße
Biber
bitte fasse meinen Kommentar als konstruktiv gemeint auf und nicht als Flamerei.
Ich denke, wenn du dich mal eine halbe Stunde mit einem Datenbank- oder
(falls in Reichweite) einem Dataware-Fuzzy zusammensetzt
mit 'ner Kanne Kaffee, einer Schüssel Besprechungskekse, ein bisschen Schmierpapier & ein paar bunten Stiften...
...dann kannst du viel viel unnötigen Aufwand ersparen.
Das Datenmodell (oder eher Datengemenge) hält von hier bis nächsten Donnerstag und taugt nicht um deine Anforderungen abzubilden.
Wenn du schreibst:
Um also eine änderung der Tabelle aufzuzeigen (Berichte etc) denke ich ist es umabdingbar
diese mit einer Tablle (äteren Standes) zu vergleichen
..dann hast du ja vollkommen Recht.diese mit einer Tablle (äteren Standes) zu vergleichen
Nur die Schlussfolgerung ist falsch.
Deshalb einmalig eine kopie der tabelle.
Was du brauchst, ist keine Eins-zu-Eins-Kopie der Tabelle, sondern eine historisierte Tabelle,
d.h. deine "Kopie" muss zusätzlich mindestens die Informationen "Gültig von", "Gültig bis" enthalten.
- Wenn du einen Satz aus dem SAP-Geraffel übernimmst (der also neu für dich ist), dann ist er gültigVon "seit heute" und gültigBis "leer".
- Wenn einen Satz in dem SAP-Gerödel nicht mehr da ist (in Quelle gelöscht), dann setzt du gültigBis auf "heutigesDatum"; löscht ihn also nur "logisch", niemals nicht physisch
- Wenn ein Satz in dem SAP-Gelumpe sich in den Feldinhalten ändert UND du diese Änderungen blind übernimmst, dann brauchst du weiteres technisches Feld namens "StandVon", damit ihr die Aktualisierung bzw. Aktualität der Daten erkennen könnt.
Und, wenn es sich wirklich um verschnarchte 500 Datensätzchen handelt... ja hey!
Dann kopier dir diese Original-Tabelle 1:1, lass VOR dem Updaten deiner historisierten Tabelle noch mal einen Bericht drüberlaufen, der dir nur die Änderungen der "in Quelle aktualisierten Sätze" in den Feldern zeigt, die euch interessieren.
Und was die "Beziehungen" und referentiellen Integritäten angeht, um die du dir einen Kopf machst... was soll's?
Wir reden hier von 500 Datensätzen, wie du schreibst (oder von deutlich unter 1 Million, wie ich es ausdrücken würde).
Selbst wenn deine Access-Tabelle nicht einmal einen Index/PK auf der ArtNR hätte, könntest du das mit der durchschnittlichen Prozessorleistung eines MP3-Players abfackeln.
Konzentrier die Bemühungen eher auf die Funktionalität, die ihr braucht und tausche kurz die Tastatur gegen Flipchart und bunte Malstifte.
Eine direkte Gegenprüfung von verknüpfter externer Tabelle mit einer Eins-zu-Eins-Kopie derslben vom Vortag greift zu kurz.
Grüße
Biber
Moin JonnyCash,
das einfachste zuerst.
Mit dem Zusatznutzen, dass du
Sehe dort zb ein Problem. Was ist wenn die ArtNt aus der SAP Tabelle im Januar gelöscht wurde und wird aber im Februar wieder
hinzugefügt? dann würde die ArtNr garnicht als neuerung in meinem Bericht auftauchen!
Weil sie ja immer drin war. Und das gültig bis Datum wäre dann auch falsch
Nein. Der PK/eindeutige Schlüssel ist natürlich nicht mehr die Artnr bei dir, sondern "ArtNr+GültigVon".
Wenn du dann die Situation in Quelle hast:
--> Artnr 4711; GültigVon 01.01.2007; GültigBis 4.2.2010; Benennung "Schreckschraube 4mm"
--> Artnr 4711; GültigVon 06.02.2010; GültigBis 31.12.2999; Benennung "Mutter 'Big Mama' 44mm"
... Und du kannst jederzeit fragen
Wenn dir bei der Inkonsistenzabfrage was durch die Lappen geht oder der Bericht in einem Druckerstau verbleibt...
Du hast keine zweite Chance, etwas zu reproduzieren... insbesonder bei den ArtNrn, die ihr die letzten Wochen kontrolliert und eingeplant habt und die plötzlich weg sind (weil in Quelle gelöscht).
Eine erneute Inkonsistenzabfrage bringt nicht, weil es den Satz ja weder in Quelle noch in Kopie gibt.
Grüße
Biber
das einfachste zuerst.
Zitat von @JonnyCash:
Was ich ja eigentlich nur Aufzeigen möchte ist die neuen oder gelöschten ArtNR aus der SAP Tabelle zum Stand davor.
(bzw von letzten öffnen der DB)
Der Bericht soll nur eine übersicht über die geänderten ArtNR geben
Mit meiner Inkonsitenzabfrage klappt das ja auch 100%
Müsste ich jetzt nicht noch die Feldinhalte in meiner tbl_Kopie aktualiseren wäre das Prolem gelöst!
Ja. Aber mit der o.b. historisierten Tabelle hast du das auch.Was ich ja eigentlich nur Aufzeigen möchte ist die neuen oder gelöschten ArtNR aus der SAP Tabelle zum Stand davor.
(bzw von letzten öffnen der DB)
Der Bericht soll nur eine übersicht über die geänderten ArtNR geben
Mit meiner Inkonsitenzabfrage klappt das ja auch 100%
Müsste ich jetzt nicht noch die Feldinhalte in meiner tbl_Kopie aktualiseren wäre das Prolem gelöst!
Mit dem Zusatznutzen, dass du
- alle heute gültigen und aktuellen DS hast (das sind die mit "GültigBis" ={leer} oder meinetwegen GültigBis = 31.12.2999.
- alle in Quelle gelöschten Sätze lesen kannst mit ihrem Löschdatum. die haben ein "GültigBis" < heute.
- bei allen neuen Sätzen weißt, wann die in SAP dazugekommen sind (steht ja im Feld "gültigVon")
Sehe dort zb ein Problem. Was ist wenn die ArtNt aus der SAP Tabelle im Januar gelöscht wurde und wird aber im Februar wieder
hinzugefügt? dann würde die ArtNr garnicht als neuerung in meinem Bericht auftauchen!
Weil sie ja immer drin war. Und das gültig bis Datum wäre dann auch falsch
Wenn du dann die Situation in Quelle hast:
- ArtNr 4711 gibt es im SAP seit 01.01.2007 als "Schreckschraube 4mm"
- Artnr 4711 wird im SAP am 4.2. 2010 gelöscht
- Artnr 4711 wird am 6.2 2010 reaktiviert (oder neu vergeben) als "Mutter 'Big Mama' 44mm"
--> Artnr 4711; GültigVon 01.01.2007; GültigBis 4.2.2010; Benennung "Schreckschraube 4mm"
--> Artnr 4711; GültigVon 06.02.2010; GültigBis 31.12.2999; Benennung "Mutter 'Big Mama' 44mm"
... Und du kannst jederzeit fragen
- Was bedeutet ArtNr 4711 HEUTE im SAP?
- Was bedeutete es letztes Jahr?
- Gab es am 5.2.2010 eine definierte Artnr 4711?
> hält von hier bis nächsten Donnerstag und taugt nicht um deine Anforderungen abzubilden.
Wieso sollte dieses Modell nicht funktionieren?
Unter anderem weil in Quelle gelöschte DS bei dir nach der Inkonsistenzabfrage auch "ganz weg" sind.Wieso sollte dieses Modell nicht funktionieren?
Wenn dir bei der Inkonsistenzabfrage was durch die Lappen geht oder der Bericht in einem Druckerstau verbleibt...
Du hast keine zweite Chance, etwas zu reproduzieren... insbesonder bei den ArtNrn, die ihr die letzten Wochen kontrolliert und eingeplant habt und die plötzlich weg sind (weil in Quelle gelöscht).
Eine erneute Inkonsistenzabfrage bringt nicht, weil es den Satz ja weder in Quelle noch in Kopie gibt.
Grüße
Biber
Moin JonnyCash,
Genauso habe ich mir den Prozess vorgestellt.
Eigentlich interessieren dich die gelöschten Sätze gar nicht...
... aber du speicherst die neuen und gelöschten Sätze als Word-bericht, damit du später dort reinschauen kannst.
Ein Unterschied zwischen deiner Mimik und meinem Ansatz ist ja, dass ich als einzige gültige und verbindliche Quelle ja die Access-DB haben will.
Jederzeit abfragbar zum "heutigen Stand" oder zu der Frage "Was ist seit dem 1.1.2010 gelöscht?"worden oder "Welche ArtBr sind in den letzten 14 Tagen hunzugekommen?"
Ohne parellel noch in in irgendwelchen "Worddateien im selben Ordnern" biooptisch (durch drübergucken) querlesen zu müssen.
Ja nee...
Eine "Access-Inkonsitenzabfrage" kannst du nur auf Schlüsselspalten beziehen, die in beinen Tabellen vorhanden sind.
Aber du kannst doch diese 3 Abfragen ohne Access-Klickibunti erzeugen:
Einen DELETE in deiner Kopie-Tabelle gibt es NIE... nur Gültige (GültigBis=forever) oder nicht gültige Artnr (GültigBis <= heute
Die "aktuellen" Artikel bekommst du immer mit "SELECT * from Kopie where GültigBis = forever"
Wobei "forever" eben {leeres Datum} oder ein (wiedererkennbarer) Dummywert wie "31.12.2999" sein kann.
Klarer geworden?
Grüße
Biber
Durch den Lappen kann mir nichts gehen.
Nach dem die Inkonsitenzabfrage gelaufen ist werden mir die gelöschten ArtNR
und die hinzugefügten ArtNr als Word bericht in einem Ordner mit aktuellen Datum gespeichert.
Anschließend werden die ArtNr aus meiner Tabelle Kopie gelöscht oder hinzugefügt.
Und wenn die ArtNr nicht mehr in meiner tbl_SAp enthalten ist wird sie auch nicht mehr benötigt.
Mir ist eigentlich auch egal wann welche ArtNr aus der SAP tabelle gelöscht wurde etc.
Ich will nur sehen welche ArtNr gelöscht wurde bzw hinzugefügt wurde
*Lach*Nach dem die Inkonsitenzabfrage gelaufen ist werden mir die gelöschten ArtNR
und die hinzugefügten ArtNr als Word bericht in einem Ordner mit aktuellen Datum gespeichert.
Anschließend werden die ArtNr aus meiner Tabelle Kopie gelöscht oder hinzugefügt.
Und wenn die ArtNr nicht mehr in meiner tbl_SAp enthalten ist wird sie auch nicht mehr benötigt.
Mir ist eigentlich auch egal wann welche ArtNr aus der SAP tabelle gelöscht wurde etc.
Ich will nur sehen welche ArtNr gelöscht wurde bzw hinzugefügt wurde
Genauso habe ich mir den Prozess vorgestellt.
Eigentlich interessieren dich die gelöschten Sätze gar nicht...
... aber du speicherst die neuen und gelöschten Sätze als Word-bericht, damit du später dort reinschauen kannst.
Ein Unterschied zwischen deiner Mimik und meinem Ansatz ist ja, dass ich als einzige gültige und verbindliche Quelle ja die Access-DB haben will.
Jederzeit abfragbar zum "heutigen Stand" oder zu der Frage "Was ist seit dem 1.1.2010 gelöscht?"worden oder "Welche ArtBr sind in den letzten 14 Tagen hunzugekommen?"
Ohne parellel noch in in irgendwelchen "Worddateien im selben Ordnern" biooptisch (durch drübergucken) querlesen zu müssen.
Jetzt zu deiner Lösung um das alles mal zusammenzufassen wie ich es erstellen müsste
1. Historie Tabelle erstellen (einmalige Kopie der SAP Tabelle + zusätzlich Spalten Gültig ab und gültig bis)
Jepp-1. Historie Tabelle erstellen (einmalige Kopie der SAP Tabelle + zusätzlich Spalten Gültig ab und gültig bis)
2. Inkonsitenzabfrage der Tabellen erstellen
(Kann aber eine Inkonsitenzabfrage immer nur auf eine Spalte beziehen)Ja nee...
Eine "Access-Inkonsitenzabfrage" kannst du nur auf Schlüsselspalten beziehen, die in beinen Tabellen vorhanden sind.
Aber du kannst doch diese 3 Abfragen ohne Access-Klickibunti erzeugen:
- Mach mir den UPDATE auf alle Kopie-ArtNrn mit (=WHERE..") "GültigBis = 31.12.9999", wo Kopie-Artnnr = SAP-Artnr
- Mach mir den INSERT auf alle SAP-ArtNrn, die nicht in Kopie vorhanden, setze dabei "gültigVon" auf "heute" und "gültigBis auf forever.
- Mach mir den UPDATE auf alle Kopie-Artnrn mit "GültigBis"=forever, die nicht in SAP-Artnrn vorhanden und setze "GültigBis auf "heute"
Einen DELETE in deiner Kopie-Tabelle gibt es NIE... nur Gültige (GültigBis=forever) oder nicht gültige Artnr (GültigBis <= heute
Die "aktuellen" Artikel bekommst du immer mit "SELECT * from Kopie where GültigBis = forever"
Wobei "forever" eben {leeres Datum} oder ein (wiedererkennbarer) Dummywert wie "31.12.2999" sein kann.
Klarer geworden?
Grüße
Biber
Moin JonnyCash,
war ja auch nur ein kleiner Exkurs, wie er hier im Forum jedem vollkommen unerwartet widerfahren kann
Vergiss es einfach.
Wir können ja dann bei deiner letzten Fehlermeldung (Access fragt nach Parameterwert "tbl.SAP.Benennung") weitermachen.
a) wenn in der Fehlermeldung tatsächlich ZWEI Punkte angezeigt werden, vor und nach "SAP",
dann hast du wirklich einen Tippfehler im Statement. Richtig lautet der Alias ja "tbl_SAP" und nicht "tbl.SAP".
b) da ich daran nicht glaube: wahrscheinlich heißt das Feld im SAP-Krams nicht "Benennung", sondern "Beschreibung".
Bzw. falls die immer noch auf dem Stand rumalbern, auf dem ich die das letzte Mal gesehen habe.... dann heißt es "BEN" oder "BESCH".
Grüße
Biber
war ja auch nur ein kleiner Exkurs, wie er hier im Forum jedem vollkommen unerwartet widerfahren kann
Vergiss es einfach.
Wir können ja dann bei deiner letzten Fehlermeldung (Access fragt nach Parameterwert "tbl.SAP.Benennung") weitermachen.
a) wenn in der Fehlermeldung tatsächlich ZWEI Punkte angezeigt werden, vor und nach "SAP",
dann hast du wirklich einen Tippfehler im Statement. Richtig lautet der Alias ja "tbl_SAP" und nicht "tbl.SAP".
b) da ich daran nicht glaube: wahrscheinlich heißt das Feld im SAP-Krams nicht "Benennung", sondern "Beschreibung".
Bzw. falls die immer noch auf dem Stand rumalbern, auf dem ich die das letzte Mal gesehen habe.... dann heißt es "BEN" oder "BESCH".
Grüße
Biber