Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datensätze in einer Abfrage markieren und kopieren

Begonnen von Daniel_MA, Juni 16, 2024, 13:25:09

⏪ vorheriges - nächstes ⏩

Daniel_MA

Hallo! Ich möchte in einer Abfrage bestimmte Datensätze kopieren. Mit UMSCHSALT + LINKE MAUSTASTE lassen sich zum Beispiel Zeile 1 bis 10 meiner Abfrage markieren und dann mit STRG + C kopieren. Wenn ich aber nur Zeile 1, 4 und 7 mit STRG + LINKE MAUSTASTE markieren möchte, funktioniert das nicht. Wie kann ich mein Problem lösen?

MzKlMu

Hallo,
das geht mit einer Abfrage nicht. Du musst dazu ein Formular (Datenblatt oder Endlos) verwenden.
Dort kann ein Button angelegt werden der kopiert.
Dazu muss aber der Primärschlüssel des Datensatzes verwenden werden, das über die Zeilen zu machen geht nicht.
Dann liest man den Primärschlüssel aus und kopiert mit einer Anfügeabfrage diesen einen Datensatz.
Wenn mehrere Datensätze kopiert werden sollen, musst Du Dir mit VBA die Primärschlüssel der Zeilen (=Datensätze) auslesen und ebenfalls mit einer Anfügeabfrage die gemerkten Datensätze (deren PS) kopieren.

Mit einer Zeile kann Access nichts anfangen.

Es stellt sich auch die Frage, wozu das Kopieren gut sein soll. Datensatzkopien sind ja redundat und das macht man in einer DB nicht.
Gruß
Klaus

Daniel_MA

Vielen Dank schonmal für deine Antwort. Ich versuche das mal irgendwie umzusetzen.
Jetzt stelle ich mir natürlich die Frage, warum sich mit UMSCHALT mehrerer Datensätze kopieren lassen. Gibt es dafür einen Hintergrund?
Nach dem Kopieren eines Datensatzes möchte ich bestimmte Parameter in dem Datensatz ändern, deswegen die Kopie. 

MzKlMu

Hallo,
es geht nicht in einer Abfrage, weil eine Abfrage keine Ereignisse hat um sich einen Datensatz zu merken. Die Zeile ist dazu ungeeigent.
Du brauchst zwingend ein Formular. Du kannst auch ein Listenfeld anlegen das Mehrfachauswahl zulässt und dann ebenfalls per Anfügeabfrage die markierten Datensätze kopiert. Aber dazu wird auch der Primärschlüssel des Datensatzes verwendet und nicht die Zeile.

ZitatNach dem Kopieren eines Datensatzes möchte ich bestimmte Parameter in dem Datensatz ändern, deswegen die Kopie. 
Das wäre auch zu hinterfragen. Wenn nur bestimmte Parameter/Felder geändert werden sollen, so lagert man diese Felder in eine extra Tabelle aus mit einer Beziehung zum Hauptdatensatz und trägt dann einfach die neuen Werte ein. Kopieren entfällt dann ersatzlos.

Kannst Du mal ein Bild des Beziehungsfensters hier zeigen ?
Gruß
Klaus

Daniel_MA

#4
Vielen Dank für deine Antwort. Ich bin absoluter Anfänger. Was ist ein Beziehungsfenster?
Gefunden. Sie dürfen in diesem Board keine Dateianhänge sehen.

MzKlMu

#5
Hallo,
eine Datenbank sind ja im Regelfall mehrere Tabellen. Und diese Tabellen müssen in einem Zusammenhang stehen. Und diese Zusammenhänge der Tabellen werden über die Beziehungen geregelt. Und das geschieht im Beziehungsfenster.

Hast Du nur eine Tabelle ?

Kannst Du dann mal ein Bild des Tabellenentwurfs zeigen ?

Ich würde Dir empfehlen mal ein Tutorial durchzuarbeiten.
Access muss man lernen, da geht nichts intuitiv wie z.B. bei Excel und Word. Mit Access kann man nicht einfach mal so anfangen. Außerdem ist zu bedenken, dass Access einen völlig anderen Tabellenaufbau benötigt wie Excel.
Access Tabellen und Abfragen sind auch für die direkte Ansicht und Bearbeitung nicht vorgesehen. Datenverarbeitung und Darstellung erfolgt immer über Formulare. Zum Drucken der Daten sind Berichte anzulegen.


Hier ein Link zum Tutorial:
https://www.access-tutorial.de/

Habe jetzt erst das Bild gesehen.
Das geht so nicht. Du hast ja jede Menge Tabellen und keine Beziehungen eingerichtet. Das geht nicht, eine Datenbank die funktionieren soll braucht Beziehungen.
Beschäftige Dich mit dem Tutorial.
Wenn Du Access nicht lernst, wirst Du keine Freude an der DB haben.
Gruß
Klaus

Daniel_MA

#6
Nochmals ganz lieben Dank für die Info und den Link. Ich arbeite seit ungefähr 5 Jahren mit dieser Datenbank und es funktioniert alles ganz genau so wie es soll. Momentan kopiere ich die Einträge eben Einen nach dem Anderen und das funktioniert auch sehr gut, es kostet eben nur mehr Zeit als ich vermutlich aufwenden müsste, würde ich mich auskennen. Ich versuche dann im Tutorial eine Antwort zu finden. 

MzKlMu

#7
Hallo,
ZitatIch versuche dann im Tutorial eine Antwort zu finden. 
Da wirst Du keine Antwort finden. Dein Vorhaben ist für eine Datenbank nicht üblich. Daher gibt es auch keine Lösung im Tutorial. Außerdem hast Du schon Hinweise zur Lösung bekommen.

ZitatMomentan kopiere ich die Einträge eben Einen nach dem Anderen und das funktioniert auch sehr gut,
Wenn die Datenbank gemäß den Regeln für relationale Datenbank aufgebaut wäre, würde das Kopieren gar nicht notwendig sein und somit ersatzlos entfallen. Unabhängig davon, dass es gut funktioniert.
Gruß
Klaus

Daniel_MA

Meine eigentliche Frage wurde von dir beantwortet. Ich danke dir für die Aufklärung.

Daniel_MA

Vielleicht hat jemand Lust, sich mit mir bei Discord zu verabreden und mir live und in Farbe Hilfestellung zu geben. Ich würde mich freuen.

MzKlMu

Hallo,
Zitat.... und mir live und in Farbe Hilfestellung zu geben.
Das wäre dann eher ein Fall für die Job-Börse hier in diesem Forum.

https://www.access-o-mania.de/forum/index.php?board=17.0
Gruß
Klaus