Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Dummie am März 15, 2011, 00:06:38

Titel: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 00:06:38
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: MzKlMu am März 15, 2011, 08:11:37
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?
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 09:45:48
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 09:49:33
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: MzKlMu am März 15, 2011, 09:56:47
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 10:05:15
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 10:11:51
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: MzKlMu am März 15, 2011, 10:16:52
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 10:17:52
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 10:20:58
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: MzKlMu am März 15, 2011, 10:23:47
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: MzKlMu am März 15, 2011, 10:41:58
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]
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 15, 2011, 11:20:48
Hallo,

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

Danke für Deine grandiose Unterstützung!

M.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Jonny am März 15, 2011, 12:12:00
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
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: MzKlMu am März 15, 2011, 20:44:04
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.
Titel: Re: Feldinhalt eines Datensatzes in mehrere andere Datensätze kopieren
Beitrag von: Dummie am März 17, 2011, 09:42:16
Hallo,

vielen Dank nochmal für Deine Anmerkungen. Ich hatte mich erstmal nicht gleich wieder gemeldet, da das ganze offenbar noch einige Arbeit mit sich bringt. Denn ich habe für jeden Datensatz ca. 30 oder 40 Merkmale (Felder).

Da muss ich mir in den nächsten Wochen erstmal Grundlagenwissen aneignen und dann überlegen wieviel Arbeit das macht, die ganze Datenbank umzustrukturieren.

Viele Grüße und toll, dass man hier so hilfsbereite Menschen findet!

M.