Home > Artikel > Ausgabe 10/2011 > Aktuellen Datensatz kopieren

Aktuellen Datensatz kopieren

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

Es gibt verschiedene Gelegenheiten, zu denen Sie den aktuell im Formular angezeigten Datensatz kopieren möchten. Meist soll die Kopie des Datensatzes als Ausgangspunkt für einen neuen Datensatz dienen, damit Sie diesen nicht komplett neu anlegen müssen, sondern nur noch die gewünschten Felder anzupassen brauchen. Es gibt erstaunlich viele Techniken, wie Sie dies durchführen können. Dieser Artikel stellt eine einfache Variante vor.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1110_Datensatzkopieren.mdb.

Handarbeit

Wann immer die Tabelle, die Abfrage oder das Formular mit dem zu duplizierenden Datensatz einen Datensatzmarkierer anbietet, können Sie den folgenden einfachen Weg beschreiten:

  • Klicken Sie links auf den Datensatzmarkierer, um den kompletten Datensatz zu markieren (siehe Bild 1).
  • Markieren eines kompletten Datensatzes

    Bild 1: Markieren eines kompletten Datensatzes

  • Kopieren Sie den Datensatz – weiter unten erfahren Sie, wie das funktioniert.
  • Klicken Sie auf den Datensatzmarkierer des neuen Datensatzes ganz unten in der Tabelle, der Abfrage oder dem Formular (siehe Bild 2).
  • Markieren des Zieldatensatzes, in diesem Fall eines neuen Datensatzes

    Bild 2: Markieren des Zieldatensatzes, in diesem Fall eines neuen Datensatzes

  • Fügen Sie den Inhalt der Zwischenablage, also den kopierten Datensatz, ein.

Fertig – der neue Datensatz enthält ein Duplikat des vorherigen Datensatzes. Der einzige Unterschied ist ein neuer Wert im Primärschlüsselfeld. Das gilt aber auch nur, wenn dieser als Autowertfeld ausgelegt wurde – sonst meldet Access beim Versuch, den Datensatz zu verlassen, einen Fehler wegen eines bereits vorhandenen Wertes im Primärschlüsselfeld.

Zum Kopieren eines bereits markierten Datensatzes stehen unter Access zum Beispiel die folgenden Methoden bereit:

  • Betätigen der Tastenkombination Strg + C,
  • Auswählen des Kontextmenü-Eintrags Kopieren oder
  • Anwenden des entsprechenden Eintrags der Menü-/Symbolleiste namens Be­ar­bei­ten|Ko­pieren (unter Access 2003 und älter) oder des Ribbon-Befehls Start|Zwi­schen­ab­la­ge|Ko­pieren (unter Access 2007 und jünger).

Zum Einfügen des Datensatzes aus der Zwischenablage verwenden Sie entsprechend

  • die Tastenkombination Strg + V,
  • den Kontextmenü-Eintrag Einfügen oder
  • den Menübefehl Bearbeiten|Einfügen (Access 2003 und älter) beziehungsweise den Ribbon-Eintrag Start|Zwischenablage|Einfügen (Access 2007 und jünger).

Datensatz per Mausklick kopieren

Wenn Ihnen das zu kompliziert ist oder Sie für den Benutzer Ihrer Datenbank eine einfachere Lösung benötigen, programmieren Sie einfach ein paar Zeilen VBA-Code.

Für das folgende Beispiel verwenden Sie ein einfaches Formular. Weisen Sie dem Formular in der Entwurfsansicht die Tabelle tblArtikel als Datenherkunft zu und ziehen Sie alle Felder dieser Tabelle in die Entwurfsansicht des Formulars.

Aktivieren Sie den Formularkopf und -fuß und fügen Sie im Formularkopf eine Schaltfläche ein, die mit dem Text Datensatz duplizieren beschriftet ist und den Namen cmdDatensatzDuplizieren erhält. Das Formular finden Sie in der Beispieldatenbank unter dem Namen frmDatensatzDuplizieren_I (siehe Bild 3).

Mit diesem Formular können Sie den aktuellen Datensatz per Mausklick duplizieren.

Bild 3: Mit diesem Formular können Sie den aktuellen Datensatz per Mausklick duplizieren.

Legen Sie nun eine Prozedur an, die durch das Ereignis Beim Klicken der Schaltfläche cmdDatensatzDuplizieren an. Dazu tragen Sie für die Eigenschaft den Wert [Ereignisprozedur] ein und klicken dann auf die Schaltfläche mit den drei Punkten.

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!