Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Feld aus Tabelle1 in tablle2 aktualisieren

Frage Microsoft Microsoft Office

Mitglied: JonnyCash

JonnyCash (Level 1) - Jetzt verbinden

06.02.2010 um 13:07 Uhr, 4799 Aufrufe, 19 Kommentare

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ß
Mitglied: bastla
06.02.2010 um 15:00 Uhr
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
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, ...;
möglich sein ...

Grüße
bastla
Bitte warten ..
Mitglied: NetWolf
06.02.2010 um 16:38 Uhr
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)
Bitte warten ..
Mitglied: JonnyCash
06.02.2010 um 17:06 Uhr
Hallo Wolfgang

1. Wenn ich nur eine Tabelle habe wie sehe ich denn dann welche ArtNR neu gekommen sind und welche gelöscht wurden?
Möchte ja die veränderung der Tabelle per Bericht aufzeigen!

2. Der User hat die möglichkeit zusätzlich zu den DS aus der Tabelle manuell welche anzulegen
In einer verknüpften Tabelle kann ich aber keine DS manuell anlegen

3. Der user soll die möglichkeit haben ArtNr die er nicht braucht zu löschen!
In einer verknüpften Tabelle kann ich aber keine DS manuell löschen bzw ausblenden

4. Was du oben beschrieben hast...wie genau Funktioniert das?
- Ich habe meine verknüpfte Tabelle
- Ich erstelle mir eine Tabelle für meine Kommentare etc
wie führe ich die beiden Tabellen jetzt zusammen? Das auch das Kommentar für die richtige ArtNr vorgesehen ist?
In meiner verknüpften Tabelle habe ich keine ID bzw kann ich doch keinen schlüssel dort setzen (da verknüpfte tabelle)
Vielen Dank für deine Tipps

Jonny
Bitte warten ..
Mitglied: bastla
06.02.2010 um 17:16 Uhr
Hallo JonnyCash!
In meiner verknüpften Tabelle habe ich keine ID etc
Die "TeileNr" eignet sich nicht Schlüssel?

Grüße
bastla
Bitte warten ..
Mitglied: NetWolf
06.02.2010 um 18:41 Uhr
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)
Bitte warten ..
Mitglied: JonnyCash
06.02.2010 um 19:05 Uhr
Sorry Wolfgang
Das liegt daran das ich das am Mittwoch fertig haben muss
Da mir keiner geantwortet hat habe ich es in ein anderes Forum gepostet!

Also meine Tabelle ist in ein SAP System hinterlegt. (Und in Access per Datei/Externe Daten/Verknüpfung eingepflegt)
Dort pflegt der Einkauf die Tabelle. Soll heißen die fügen hinzu und löschen DS
Wir müssen jedoch die Teile kontrollieren und mit den Lieferanten sprechen
Sonst wurde das immer per Sverweis in Excel gemacht! Tabelle Januar mit Tabelle Februar verglichen usw
Jetzt möchten wir aber alles per Access machen

Um also eine änderung der Tabelle aufzuzeigen (Berichte etc) denke ich ist es umabdingbar diese mit einer Tablle (äteren Standes) zu vergleichen
Auch wenn man so redundanzen schafft
Deshalb einmalig eine kopie der tabelle.

Und wenn ich dann die Feldinhalte noch aktualisieren würde wäre das ganze Problem gelöst
Zwar nicht die optimale Lösung aber für unseren Zweck denke ich vollkommen ausreichend

Gruß
Bitte warten ..
Mitglied: bastla
06.02.2010 um 19:21 Uhr
Hallo JonnyCash!
Und wenn ich dann die Feldinhalte noch aktualisieren würde wäre das ganze Problem gelöst
Und was hält Dich vom Aktualisieren ab?

Grüße
bastla
Bitte warten ..
Mitglied: JonnyCash
06.02.2010 um 19:31 Uhr
Hallo

mit dem geposteten von dir funktioniert es nicht

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, ...;

Er muss mir ja die ArtNr aus der Tabelle SAP nehmen und in der TablleKopie suchen und dann die Felder Benennung, Stückzahl, Sonstiges der jeweiligen ArtNr aktualisieren

Tabelle SAP und tabelle Kopie stehen ja nicht in Beziehung


Gruß Jonny
Bitte warten ..
Mitglied: bastla
06.02.2010 um 19:37 Uhr
Hallo JonnyCash!
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, ...;
Grüße
bastla
Bitte warten ..
Mitglied: JonnyCash
06.02.2010 um 19:56 Uhr
Hallo bastla

Wie genau müsste die Beziehung zwischen den Tabllen denn sein?
Kann bei der verknüpften Tabelle keinen Primärschlüssel etc setzen (Eigenschaft der tabelle lassen sich nicht verändern)

Kann das Feld ARtNR SAp Tabelle wohl mit ArtNr Kopie Tablle in verbindung setzen
Kann aber weder referentieller intergrität noch aktialisierungsweitergabe oder Löschweitergabe ankreuzen
Lediglich in Verbindung setzen ist möchglich

Gruß
Bitte warten ..
Mitglied: bastla
06.02.2010 um 20:08 Uhr
Hallo JonnyCash!
Lediglich in Verbindung setzen ist möchglich
So what?

Deswegen sollte die Abfrage (kannst ja zum Testen auch einfach einmal ein paar Felder aus den beiden Tabellen in einer Auswahlabfrage nur ausgeben) trotzdem funktionieren ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
07.02.2010 um 01:42 Uhr
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:
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.

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
Bitte warten ..
Mitglied: JonnyCash
07.02.2010 um 11:05 Uhr
Hallo Biber
Vielen Dank für deine Unterstützung
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 einem Datenbank Fuzzy zusammensetzen wäre super
Jedoch habe ich keinen. Deshalb auch das Forum

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

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 ich also per Inkonsitenzabfrage die zwei Tabellen vergleichen möchte muss ich auch aus der Tabelle Kopie die DS löschen wenn sie in der SAP tabelle gelöscht wurden

Von daher frage ich mich ob es nicht doch am einfachsten wäre diese Felder zu aktualisieren?!


hält von hier bis nächsten Donnerstag und taugt nicht um deine Anforderungen abzubilden.

Wieso sollte dieses Modell nicht funktionieren?


Vielen Dank

Jonny



Ps: Habe mal versucht die Aktualiserungsweitergabe einzubauen.
Habe folgendes sql Code in die Abfrage hinterlegt

UPDATE tbl_Kopie INNER JOIN tbl_SAP ON tbl_Kopie.Teilenummer=tbl_SAP.Teilenummer SET tbl_Kopie.Benennung = tbl_SAP.Benennung;

Wenn ich das dann ausführen möchte öffnet sich ein fenster mit folgender Bemerkung

Fenster: Parameterwert Eingeben
tbl.SAP.Benennung


Wodran liegt das?
Bitte warten ..
Mitglied: Biber
07.02.2010 um 12:46 Uhr
Moin JonnyCash,

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.
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
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 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"
... dann hast du in meinem Modell die Datensätze
--> 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.
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
Bitte warten ..
Mitglied: JonnyCash
07.02.2010 um 13:35 Uhr
Hallo Biber
Verstehe meine Verhaltenheit zu deiner Lösung bitte nicht falsch! Liegt einfach nur daran das ich Anfänger bin und alles was ich in Access umsätze zur Zeit noch sehr lange dauert und mich mit Anfänger problemem rumschlagen muss
Wenn ich zb sql oder VBA nutze muss ich den Code erste suchen etc pp
Und meine "anfänger Lösung" hätte ich so gut wie fertig bis auf die Aktualisierung


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.

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


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)
2. Inkonsitenzabfrage der Tabellen erstellen (Kann aber eine Inkonsitenzabfrage immer nur auf eine Spalte beziehen)
In den fall meine ArtNR) Ergebnis wäre doch nicht korrekt!
In meiner Kopie Tabelle bleibt die ARtNr 4711 immer drin und wird mir also nicht im Bericht am 6.2 angezeigt?!
Thema:
          • 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"

3. abfrage ergebnis meiner Tabelle Kopie zufügen (heutiges datum) (hinzugefügten ArtNr)
gelöschten ArtNr nicht hinzufügen sondern suchen und im Feld "gültig bis" das heute datum eintragen)




Habe ich das so richtig Verstanden?
Bitte warten ..
Mitglied: Biber
07.02.2010 um 14:29 Uhr
Moin JonnyCash,

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*
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-
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
Bitte warten ..
Mitglied: JonnyCash
07.02.2010 um 20:53 Uhr
Hallo Biber
Muss mir das morgen mal in ruhe überdenken.
Ziel meiner DB ist es ja nicht die veränderungen aufzuzeigen und per auswertung auzugeben wann welcher DS gelöscht wurde etc.
Das einzige was man im Notfall sehen möchte ist welche ArtNr der Einkauf aus der SAP tabelle vom letzen Stand gelösct hat und welche hinzugefügt hat
Der User möchte nicht eine Hierachie tabelle über die gelöschten und hinzugefügten DS haben

Das eigentliche Ziel der DB ist es die einzelnen ArtNr per Endlosformular zu bewerten
Um die bewertungen vorzunehmen benötige ich ja zusätzliche spalten die ich in der verknüpften nicht hätte anlegen können
Dazu habe ich die kopie erstellt! und da ich schonmal eine Kopie habe kann ich sie ja auch mit der SAP Tabelle querschecken.

Werde jetzt erste mal probieren irgendwie die Felder in meiner kopie Tabelle zu aktualisieren
Die ganzen "toten" DS die ich in meiner kopie tabelle hätte wenn sie aus der SAp tabelle gelöscht würden gefällt mir nicht so.
Möchte genau den stand haben der auch die SAp Tabelle hat. Wieso sollte ich auch mehr DS in meiner Tabelle haben als die Original Master Tabelle?

Vielen Dank
Bitte warten ..
Mitglied: Biber
07.02.2010 um 21:19 Uhr
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
Bitte warten ..
Mitglied: JonnyCash
07.02.2010 um 21:43 Uhr
Hallo Biber
Erste mal Vielen Dank für dein Verständnis.
Habe den fehler jetzt um 20vor 10 gefunden
Hatte tatsächlich die Feldnamen falsch..peinlich

Jetzt klappt es mit deinem Code!
Werde es jetzt mal so einbauen in meine DB

Ist halt eine Anfänger lösung

Gruß Jonny
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Datenbanken
Microsoft SQL Server Feld mit Trigger aktualisieren (3)

Frage von ursus57 zum Thema Datenbanken ...

Outlook & Mail
gelöst Outlook 2013 Von Feld in alten Entwürfen (2)

Frage von Xartor zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...