Neuigkeiten:

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

Mobiles Hauptmenü

Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren

Begonnen von Dummie, März 15, 2011, 00:06:38

⏪ vorheriges - nächstes ⏩

Dummie

Hallo in die Runde,

ich möchte in der Datenblattansicht bei Access 2007 den Feldinhalt eines Datensatzes in weitere Datensätze herüberkopieren. Die Felder, wo ich es reinkopieren will, möchte ich vorher selektieren, d.h. sie müssen nicht alle direkt untereinander sein.

Bislang gelingt es mir über die Funktionen kopieren / einfügen immer nur, das Feld in ein einzelnes weiteres Feld zu kopieren. Das ist aber zu aufwändig, wenn beispielsweise bei Anschriften eines Unternehmens mit zahlreichen Mitarbeitern eine Adressänderung vorgenommen werden soll.

Könnte mir da bitte jemand einen Tipp geben?

M.

MzKlMu

Hallo,
ich fürchte, Du bist auf dem Holzweg. Im Regelfall wird nur das Schlüsselfeld kopiert und sonst keine weiteren Felder.
Zitatwenn beispielsweise bei Anschriften eines Unternehmens mit zahlreichen Mitarbeitern eine Adressänderung vorgenommen werden soll.
Kannst Du das mal näher erklären?
Gruß Klaus

Dummie

Hallo,

vielen Dank für Dein Hilfsangebot, erlaube mir folgendes Beispiel:

In der Spalte "Straßenname" steht in Datensatz 265 "Bahnhofstraße", bei den Datensätzen 510, 511 und 523 ist an selber Stelle noch kein Eintrag.

Nun möchte ich Feld "Straßenname" von Datensatz 265 kopieren. Dann die Felder "Straßenname" von Datensatz 510, 511 und 523 markieren und anschließend den Inhalt "Bahnhofstraße" in die drei markierten Felder einfügen.

Derzeit kann ich nur direkt untereinander liegende Felder gemeinsam markieren (hier 510 und 511) und wenn ich "Einfügen" mache, dann wird nur in das erste Feld der Inhalt eingefügt (hier 510).

In der früheren Access-Version war dies meiner Erinnerung nach problemlos möglich. Wie  soll man sonst eigentlich seine Daten effizient pflegen?

Ich wäre Dir und allen anderen sehr dankbar über eine Lösung - Gruss M.

Dummie

Lieber AccessGuru,

ich habe mein erstes Beispiel mit der "Adressänderung bei mehreren Mitarbeitern" nicht näher erläutert, da ich denke, dass es mein neues Beispiel besser trifft.

Viele Grüße M.

MzKlMu

Hallo,
ZitatIn der früheren Access-Version war dies meiner Erinnerung nach problemlos möglich. Wie  soll man sonst eigentlich seine Daten effizient pflegen?
Das wüsste ich nicht, dass das in einer früheren Version gegangen ist. In einem relationalen Datenmodell dürfte das erst gar nicht erforderlich sein. Ich fürchte daher nach wie vor, dass das Datenmodell nicht passt. Warum muss der Straßenname bei mehreen Mitarbeitern angepasst werden, jeder Mitarbeiter wohnt doch in einer anderen Straße.
Bitte erkläre mal die Tabellen und deren Beziehungen genauer.
Gruß Klaus

Dummie

noch eine Ergänzung:

ich konnte mit dem Begriff "Schlüsselfeld" zunächst nichts anfangen. Ich habe mich nun schlau gemacht: Ich habe alle meine Daten in einer einzigen Tabelle, verwende daher keine Schlüsselfelder, die es sonst ja anscheinend in "relationalen Datenbanken" gibt, die mit mehrere Tabellen arbeiten.

M.

Dummie

Hallo, Deine letzte Antwort las ich eben erst.

Wegen der mehreren Mitarbeitern folgender Fall:

Firma Schraubenmayer war vorher in der Bahnhofstraße in X-Stadt und zieht jetzt in die Schlüsselgasse. Nun habe ich für zehn Mitarbeiter von Schraubenmayer je einen individuellen Datensatz. Dann könnte ich wahrscheinlich über Suchen und Ersetzen Bahnhofstraße in Schlüsselgasse umwandeln. Aber ich mache das dann auch für Firma Kolbenkiller in Y-Stadt, da diese zufällig auch in einer Bahnhofstraße.

Also filtere ich doch besser nach "Firma Schraubenmayer", gehe in die Tabellenansicht und ändere die Anschrift im ersten Datensatz zu Schraubenmayer und kopiere die Änderungen in die entsprechenden Felder der anderen Mitarbeiter.

Gruss M.

MzKlMu

Hallo,
ZitatIch habe alle meine Daten in einer einzigen Tabelle, verwende daher keine Schlüsselfelder,
Das ist das entscheidende Problem. Eine Datenbank in einer Tabelle ist keine Datenbank, da hättest Du auch eine Exceltabelle nehmen können.
Dein Vorhaben lässt sich mit Feldern die nicht untereinander stehen nicht realisieren. In einer reletionalen Datenbank braucht man so etwas nicht, daher hat Access dazu keine fertige Funktion.
Du kannst versuchen mit VBA Programmierung so etwas zu ermöglichen, aber dazu habe ich keinen fertigen Vorschlag.

In einer korrekten DB würde die Änderung der Straße nur in einem einzigen Feld erfolgen. Der Rest erfolgt dann über das Schlüsselfeld der Beziehung.
ZitatWie  soll man sonst eigentlich seine Daten effizient pflegen?
Effiziente Datenplege erfordert ein wohldurchdachtes Datenmodell und mit einem solchen wäre wie bereits gesagt die mehrfache Kopierung gar nicht erforderlich.
Daher der dringende Rat:
Beschäftige Dich mit den Grundlagen einer Datenbank oder nimm Excel.
Gruß Klaus

Dummie

noch etwas:

Du meintest, jeder Mitarbeiter wohne in einer anderen Straße. Bei mir ist es folgender Fall: Alle Mitarbeiter sitzen an einem anderen Tisch im selben Firmengebäude. Sie haben je eine andere Telefonnummer, andere Email und daher bei mir einen eigenen Datensatz.

Verzeihe meine vielen Mails.

Dummie

Vielen Dank für Deinen letzten Hinweise.

Da muss ich in der Tat grundlegend neu denken. Bislang klappte alles recht gut so, aber ich stoße in der Tat an Grenzen mit der derzeitigen Struktur. Möglicherweise kann meine Datenbank ja noch viel effizienter werden. Was Du schreibst klingt recht verlockend.

Beste Grüße und Dir einen schönen Tag!

M.

MzKlMu

Hallo,
Nachtrag zu Deinem erweiterten Beispiel.
Du brauchst eine Tabelle für die Firma und eine Tabelle für die Mitarbeiter:

tblFirma
FirmaID (Primärschlüssel)
Firmanname
FirmenOrt
Firmenstraße

tblMitarbeiter
MitarbeiterID (Primärschlüssel)
FirmaID_F (Fremdschlüssel)
MitarbName
MitArbVorname

Über die FirmaID und FirmaID_F wird eine Beziehung hergestellt (1:n)
Bei einer Straßenänderung wird nur die Straße der Firma geändert. Eine Abfrage verbindet beide Tabellen und schon hat jeder Mitarbeiter die neue Straße. In der Tabelle für die Mitarbeiter wird überhaupt nichts geändert.
Gruß Klaus

MzKlMu

Hallo,
im Anhang noch ein kleines einfaches Beispiel, nur um das Prinzip zu verdeutlichen.
Schaue Dir auch im Beziehungsfenster die Beziehung an.
Öffne die Abfrage (Abfrage1) und sehe Dir die 4 Datensätze an.
Abfrage schließen und in der Firmentabelle eine Straße ändern, Abfrage wieder öffnen. Alle Straßennamen bei den Mitarbeitern stimmen.

[Anhang gelöscht durch Administrator]
Gruß Klaus

Dummie

Hallo,

meinst Du mit der Abfrage den Abfrageassistenten unter "Erstellen / Andere"?

Danke für Deine grandiose Unterstützung!

M.

Jonny

Hallo,

entschuldigt wenn ich mich hier auch noch einmissche.

Wenn ich das alles lese denke ich das fast alle Grundlagen zu Acc fehlen.

Um hier was vernüftiges zu Erstellen wird es leider notwendig sein das Du dich erstmal
mit den Grundlagen von ein Datenbank beschäftigtst.
Also:
Was versteht man unter Tabellen und Schlüsselfelder.
Wie können Tabellen verknüpft werden.
Was sind Abfrage.
Wozu Formulare und Berichte.

Würde Dir lieber eine andere Antwort geben aber ohne diese Kenntnisse wirst Du nicht weiterkommen.

Gruß

Johann

MzKlMu

Hallo,
Zitatmeinst Du mit der Abfrage den Abfrageassistenten unter "Erstellen / Andere"?
Nein, einfach die vorhandene Abfrage per Doppelklick öffnen.

Du solltest Dich wirklich mit den Grundlagen beschäftigen. Mein Beispiel war ganz einfach und diente nur als Prinzipdarstellung.
Mit großer Wahrscheinlichkeit sind noch weitere Tabellen notwendig.
Suche mal Beiträge des Users "DF6GL" (Franz) er hat jede Menge Links dazu in seiner Signatur.
Gruß Klaus