Access - 2 Tabellen (selbe Spalte) ersetzen

Chrisibär

Lt. Commander
Registriert
Juli 2010
Beiträge
1.974
Hallo Leute,

ich habe eine Access Frage

Und zwar habe ich eine Access DB (20 spalten)welche u.a. eine Spalte enthält welche nicht ganz vollständig ist.
Ich habe über Daten Exportieren in Excel, dann dort einen Abgleich erstellt und möchte nun die fertige Spalte (10.000 Einträge) gerne wieder in Access importieren.

das habe ich gemacht und es entsteht eine neue Tabelle mit dieser neuen gefüllten Spalte (und einer Spalte mit Primärschlüssel).

Wie gehe ich nun vor das die Spalte in Tabelle neu die vorhandenen Werte in Spalte (selber Name) in Tabelle alt ersetzt?

grüsse & danke
 
Moin,

erstelle eine Aktualisierungsabfrage. Dabei verwendest du die alte und die neue Tabelle. Der Rest ist in der Hilfe recht gut beschrieben.

Dennoch versteht es sich von alleine, dass du vorher eine Sicherungskopie anlegst!
 
Hallo Nemo,
also ich finde da (google) nicht die richtige antwort, da ich immer nur bis zum schritt: beziehungen / verknüpfungen komme aber diese nie aktualisiert wird??!

gesichert habe ich die DB 2x (und das ganze nochmal auf 4 verschiedenen datenträgern :) )

danke vorab wiedermal für deine hilfe :)
 
Moin Chrisibär,

mit "Hilfe" meine ich die gute, alte Taste F1. Sprich die eingebaute Hilfe in Access.

Leider kann ich nicht nachvollziehen, wo es bei dir nun wirklich hakt. Stell doch einmal ein Muster der DB hier ein (10 Datensätze reichen ja). Sage uns dann bitte, wie weit du gekommen bist und wo exakt du nicht weiter kommst ...

Und noch einmal zum Verständnis:
  • Du hast Tabelle_x nach Excel exportiert
  • In Excel Spalten gelöscht, den Index und die zu ändernde Spalte (jetzt Spalte B) belassen
  • In Spalte B Änderungen / Ergänzungen vorgenommen
  • Du hast NIE etwas am Index geändert
  • Du hast die Excel-Daten in eine neue Tabelle in Access eingefügt (Tabelle_y)
  • Du willst jetzt die alte Tabelle_x mit den Daten der neuen Tabelle_y aktualisieren
Ist das so richtig?
 
Hi Nemo,

stell ich dir dann hoch.

Zum Verständnis:

- Ja alles so wie du gesagt hast, aber ich hab die Index spalte gelöscht und nachher wieder eingefügt in Excel, also die Reihenfolge stimmt noch, bzw der index spaltenname ist derselbe, funkt das auch?

- Ich will nur die Spalte B von tabelle y mit der Spalte B von tabelle x in access aktualisieren

danke :)
 
Chrisibär schrieb:
Ja alles so wie du gesagt hast, aber ich hab die Index spalte gelöscht und nachher wieder eingefügt in Excel, also die Reihenfolge stimmt noch, bzw der index spaltenname ist derselbe, funkt das auch?
Nein! Außer: Die Zahl oder der Begriff ist absolut identisch mit dem alten Inhalt.

Der Index ist das einzig verbindende Element zwischen den Tabellen. Folgendes passiert bei einer Aktualisierungsabfrage: Acc nimmt den 1. Datensatz (DS) und schaut nach, welches Feld als "identisch in beiden Tabellen" angegeben ist. Das ist ja normalerweise der Index, die Kundennummer, oder ein sonstiges Feld, wo dieser Eintrag einmalig ist und somit kann der Rest der Spalten (dieser Zeile) genau dem Indx zugeordnet werden.

Also, Acc sucht nun den Index in der 2. Tabelle. Falls gefunden, werden die zu aktualisierenden Felder ausgelesen und in der Haupttabelle überschrieben. Wenn der Index nicht existiert, dann wird auch nichts getan.

Acc wird nun einen DS nach dem nächsten abarbeiten, bis zum letzten DS der Haupttabelle.

Also, wenn in der Tabelle Änderungen der Index 1 und 2 verwechselt ist, dann werden in der Haupttabelle bei einer Aktualisierung garantiert falsche Werte eingetragen.
 
Also die Index Spalte ist in Excel genau gleich (38xxx) einträge (also nummer 1-38xxx) und man kann immer vergleichen sie ist von 1-38xxx sortiert (gleich wie in access), also das sollte funktionieren :)
wie gehts weiter ?:)
Nur is in Access nach import der Felddatentyp unterschiedlich (bei großer Tabelle ist er "auto wert") bei der importierten ist er "zahl" macht das was? bzw ich kann ja eine spalte erstellen mit auto wert (nummerierung passt ja da der index auch von 1-xxx nummeriert ist) und dann den namen umändern und den autowert zu einer primärschlüssel spalte machen oder?

e: ich habs geschafft mit der aktualisierung (was ich immer vergessen hatte war vorher von ID zu ID einen verbindungsstrich zu machen) und dann erst eine aktualisierung von spalte b zu definieren....

juhuuu :)
 
Zuletzt bearbeitet:
Moin Chrisibär,
e: ich habs geschafft mit der aktualisierung
Schön! Danke für's Feedback.

Noch zur Erklärung (auch für die anderen Leser): "Autowert" ist immer eine Zahl vom Typ Long Integer. Nur wird diese automatisch vergeben und das Programm achtet darauf, dass nichts doppelt ist. Und selbst wenn die importierten Zahlen des Index als (nur) Integer eingestuft werden, haut das hin. Dein Erfolg hat es bewiesen.
 
@ cpt.Nemo

danke für deine Hilfe, steh schon wieder vor einer neue aufgabe (excel bzw oder access lösbar)

Frage:

Ich hab eine Spalte in der Nummern + Duplikate vorkommen (zb: Warennummern, kommen ja öfter vor), die wurden in der Spalte (Kunde) von verschiedenen Leuten gekauft.
Jetzt möchte ich gerne ein Ranking machen das wie folgt aussieht:

Top EinzelKunde mit den meisten einkäufen
Top Gruppenkunde (also wenn mehre Personen diesselbe Warennumern gekauft haben) mit den meisten einkäufen

und das jeweils von 1. top kunde bis letzter

wie würdest du da vor gehen?
wennst wills schick ich dir screenshoot mal :)
danke
 
Moin Chrisibär,

das geht natürlich (auch) in Access, aber ich denke, dass du das in Excel besser hinbekommst.

Screenshot wäre nicht so optimal, denn zum Probieren müsste jeder Helfer den ganzen Kram erst mal abtippen. Ergo: Datei (Access oder Excel) ist schon passender. Kann ja "kastriert" und anonymisiert sein. Es reichen ja 50 Datensätze ...

Top EinzelKunde mit den meisten einkäufen
also Produktnummern?
Top Gruppenkunde (also wenn mehre Personen diesselbe Warennumern gekauft haben) mit den meisten einkäufen
Das verstehe ich nicht. - Meier, Müller und Schulze haben Produkt 4711 gekauft, Müller noch 2 zusätzliche Produkte. Meinst du das? Und das Ganze dann noch für alle Produkte?
und das jeweils von 1. top kunde bis letzter
Also ein ganz normales Ranking ...

Ich tippe mal darauf, dass du in Excel (oder Access) eine Pivot-Tabelle machen wirst. Aber schau'n wir mal ...
 
Okay Nemo, ich lads dir wieder hoch (als excel, inkl screenshoot) damit du mal weißt was ich überhaupt machen will :D
dauer 5 min :)

1zl6rzl.jpg


Excel File

Danke
 
Zuletzt bearbeitet:
Moin Chrisibär,

wie im richtigen Leben ... Mein Sohn kam nebst Partnerin vorhin zu Besuch. Ich habe mich eben mal einige Minuten rausgeschlichen, um dir zumindest einen Ansatz zu zeigen.

Also, mit einer Pivottabelle wirst du wohl so einiges "erschlagen" können. Da gibt es ja noch so nette Funktionen wie "Top 10" (veränderbar) und einiges mehr. Das Gleiche geht (natürlich) auch in Access.

Schau die das einfach einmal an, ich muss wieder rein in die gute Stube ... ;)
Vielleicht gehe ich noch nachher dabei und schreibe etwas in VBA (fällt mir leichter als ellenlange Formeln). Mal sehen, ob noch Zeit ist ...

Excel-Tabelle (Pivot)
 
Hallo Nemo,

danke für deine antwort;
gut Pivot Tabellen kenne ich eh, aber damit komme ich nicht ganz zu dem Ziel hin finde ich, vorallem weil ich ja etwas suche das mir mal Einzelkäufer von Mehrkäufer unterscheidet, und das macht so eine PivotTabelle ja nicht oder?

und danach eben noch ein ranking (ein durchgehendes also 1ter 2ter..... bis xxxxxter) zu einzel & mehrkäufer
 
Zuletzt bearbeitet:
Moin Chrisibär,

OK, ich werde mich mal in Sachen VBA was entwickeln. Komme aber nur abends dazu, also vielleicht Wochenende ...


Und schau mal in dein Postfach ...
 
Zuletzt bearbeitet: (Schreibfehler)

Ähnliche Themen

Zurück
Oben