Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datenübernahme

Begonnen von gsaccess, Juli 13, 2023, 17:18:46

⏪ vorheriges - nächstes ⏩

gsaccess

Mir wäre es darum gegangen die zwei Abfragen in eine zu packen. Das habe ich nicht geschafft.
1. Abfrage
UPDATE Artikel LEFT JOIN tblArtikelgruppe ON Artikel.Artikelgruppe = tblArtikelgruppe.Artikelgruppe SET Artikel.ArtikelgruppenID = [tblArtikelgruppe].[ArtikelgruppeID];

2. Abfrage
UPDATE Artikel LEFT JOIN tblArtikel ON Artikel.ID = tblArtikel.ArtikelnummerID SET tblArtikel.ArtikelgruppeID_F = [Artikel].[ArtikelgruppenID], tblArtikel.kgProEinheit = [Artikel].[kgProEinheit], tblArtikel.AufschlagProzent = [Artikel].[Aufschlag]/100, tblArtikel.ErfassungsdatumArtikel = [Artikel].[EKAktualisiertam];

Bei dieser Abfrage werden alle Felder mit Ausnahme der ArtikelgruppeID_F aktualisiert.
Für mich nicht nachvollziehbar warum dieses Feld nicht aktualisiert wird.

ebs17

#16
ZitatAber grundsätzlich kann ich jedem nur raten Access aufgrund der vielen Defizite bei SQL als Datenbank zu vermeiden
Man sollte aber eigene Defizite von Defiziten der verwendeten Umgebung trennen und eigenständig betrachten.
Und man sollte das beherrschen, womit man sich beschäftigt.
Denn auch: Wenn ein "Hutfahrer" von seinem Ford Fiesta in einen Ferrari umsteigt, wird er nicht automatisch zum beeindruckenden Rennfahrer. Kurven fahren z.B. sollte man bei beiden können. Durch einen Umstieg auf das Upgrade kommt das nicht automatisch.

ZitatIch bin dabei von der alten Datenbank die Daten in die neue Datenbank zu übernehmen.
Wenn ich davon ausgehe, dass das Datenmodell der neuen Datenbank auch fertiggestellt ist, würde bei mir im Idealfall keine Aktualisierungsabfrage vorkommen, sondern zur Datenübernahme nur Anfügeabfragen (pro Zieltabelle eine Anfügeabfrage).

In der Anlage ist das, verkürzt auf wesentliche Felder zur Schlüsselübernahme, dargestellt.
Das Prinzip ist einfach: Zuerst wird die Primärtabelle gefüllt, in Verbindung mit Inkonsistenzprüfungen kann man das auch beliebig wiederholen. Damit wird per Autowert der Primärschlüssel erzeugt.

Jetzt kann man die Anfügung in die Sekundärtabelle vornehmen. Da in der Quelltabelle die Zuordnung der Klarwerte (hier Artikel zu Artikelgruppe) vorhanden ist, kann man sich per JOIN auf die Primärtabelle den Schlüssel hereinholen und als Fremdschlüssel in die Sekundärtabelle schreiben.
Mit freundlichem Glück Auf!

Eberhard

gsaccess

#17
Vielen Dank!
Werde mal versuchen damit klar zu kommen.
Learning bei dooing ist die Devise.

ebs17

#18
LEFT JOIN: Etwas anderes als ein INNER JOIN innerhalb einer Aktualisierungsabfrage ist für mich sinnfrei. Bei einer Zuweisung brauche ich einen vorhandenen Quellinhalt und ein vorhandenes Ziel.
Mit freundlichem Glück Auf!

Eberhard

markusxy

Zitat von: ebs17 am Juli 20, 2023, 10:18:43Man sollte aber eigene Defizite von Defiziten der verwendeten Umgebung trennen und eigenständig betrachten.

Wer die Defizite bei Access nicht sehen will, hat entweder keine Ahnung von den anderen Datenbanken oder beschäftigt sich nur mit Spielereien.  ;)

Aber natürlich wie immer kein Vorteil ohne Nachteil. Wenn Access also den Anforderungen genügt, dann passt es ja.
Nur sollte man unterscheiden können, wann welches Werkzeug optimal ist.

ebs17

ZitatNur sollte man unterscheiden können, wann welches Werkzeug optimal ist.
Um im Thema zu bleiben: Für die Übertragung von Daten aus einer Tabelle in eine oder mehrere andere ist das eine unheimlich schwere Entscheidung.
Mit freundlichem Glück Auf!

Eberhard

markusxy

Zitat von: ebs17 am Juli 22, 2023, 08:47:33Um im Thema zu bleiben
Wenn du schon glaubst dich einmischen zu müssen, wirst du doch wenigstens in der Lage sein auch den Zusammenhang mitzubekommen, oder?

ebs17

Mit freundlichem Glück Auf!

Eberhard