In diesem Artikel wird beschrieben, wie eine Aktualisierungsabfrage erstellt und ausgeführt wird. Eine Aktualisierungsabfrage können Sie verwenden, wenn Sie vorhandene Daten in einer Menge von Datensätzen aktualisieren oder ändern müssen.
Mit einer Aktualisierungsabfrage können Sie einer Datenbank keine neuen Datensätze hinzufügen oder ganze Datensätze aus einer Datenbank löschen. Wenn Sie einer Datenbank neue Datensätze hinzufügen möchten, verwenden Sie eine Anfügeabfrage. Zum Löschen ganzer Datensätze aus einer Datenbank kommt eine Löschabfrage zum Einsatz. Weitere Informationen finden Sie im Abschnitt Siehe auch.
Hinweis Sie können eine Aktualisierungsabfrage nicht in einem Webbrowser ausführen. Wenn eine Aktualisierungsabfrage in einer Webdatenbank ausgeführt werden soll, müssen Sie die Datenbank zuvor mit Access öffnen.
Inhalt dieses Artikels
Übersicht
Mit Aktualisierungsabfragen können Sie Daten zu einem oder mehreren vorhandenen Datensätzen hinzufügen, bzw. Daten in vorhandenen Datensätzen ändern oder löschen. Aktualisierungsabfragen können Sie sich als leistungsfähige Version des Dialogfelds Suchen und Ersetzen vorstellen.
Ähnlichkeiten und Unterschiede zwischen dem Feld "Suchen und Ersetzen" und einer Aktualisierungsabfrage
Wie im Dialogfeld Suchen und Ersetzen können Sie mit einer Aktualisierungsabfrage Folgendes tun:
- den Wert angeben, der ersetzt werden soll
- den Wert angeben, der als Ersatz verwendet werden soll
Im Gegensatz zum Dialogfeld Suchen und Ersetzen bietet eine Aktualisierungsabfrage die folgenden Möglichkeiten:
- Verwenden von Kriterien, die nicht von dem zu ersetzenden Wert abhängig sind
- Aktualisieren einer größeren Menge von Datensätzen in einem Schritt
- Gleichzeitiges Ändern von Datensätzen in mehr als einer Tabelle
Einschränkungen für aktualisierbare Felder
Mit einer Aktualisierungsabfrage können die Daten in den folgenden Feldtypen nicht aktualisiert werden:
- Berechnete Felder Die Werte in berechneten Feldern (Berechnetes Feld: Ein in einer Abfrage definiertes Feld, das statt gespeicherter Daten das Ergebnis eines Ausdrucks anzeigt. Immer wenn sich ein Wert im Ausdruck ändert, wird der Wert neu berechnet.) befinden sich nicht dauerhaft in Tabellen. Nachdem Sie in Access berechnet wurden, sind sie nur im temporären Speicher des Computers vorhanden. Da berechnete Felder keinen dauerhaften Speicherort aufweisen, können Sie diese nicht aktualisieren.
- Felder aus einer Summenabfrage oder einer Kreuztabellenabfrage Die Werte in diesen Abfragearten werden berechnet und können daher nicht mit einer Aktualisierungsabfrage aktualisiert werden.
- AutoWert-Felder Standardmäßig werden die Werte in AutoWert-Feldern nur geändert, wenn Sie einer Tabelle einen Datensatz hinzufügen.
- Felder in Abfragen mit eindeutigen Werten und eindeutigen Datensätzen Die Werte in derartigen Abfragen sind zusammengefasst. Einige Werte stellen einen einzelnen Datensatz dar, andere werden aus mehr als einem Datensatz gebildet. Ein Aktualisierungsvorgang kann nicht ausgeführt werden, da nicht ermittelt werden kann, welche Datensätze als Duplikate ausgeschlossen sind. Es ist daher nicht möglich, alle notwendigen Datensätze zu aktualisieren. Diese Einschränkung gilt, wenn Sie eine Aktualisierungsabfrage verwenden oder versuchen, Daten manuell zu aktualisieren, indem Sie Werte in ein Formular oder ein Datenblatt eingeben.
- Felder in einer Union-Abfrage Daten in Feldern einer Union-Abfrage können nicht aktualisiert werden, da jeder Datensatz, der in mindestens zwei Datenquellen erscheint, nur einmal im Ergebnis der Union-Abfrage angezeigt wird. Da einige doppelte Datensätze in den Ergebnissen nicht enthalten sind, kann Access nicht alle erforderlichen Datensätze aktualisieren.
- Primärschlüsselfelder In einigen Fällen, z. B. wenn das Primärschlüsselfeld in einer Tabellenbeziehung verwendet wird, kann das Feld erst aktualisiert werden, wenn Sie die Beziehung für die automatische Aktualisierungsweitergabe einrichten.
Hinweis Bei der Aktualisierungsweitergabe aktualisiert Access automatisch die Fremdschlüsselwerte, wenn in einer übergeordneten Tabelle ein Primärschlüsselwert geändert wird.
Seitenanfang
Erstellen und Ausführen einer Aktualisierungsabfrage
Zum Erstellen und Ausführen einer Aktualisierungsabfrage hat sich das Ausführen von zwei Hauptschritten als optimale Methode erwiesen: Erstellen Sie zuerst eine Auswahlabfrage, in der die zu aktualisierenden Datensätze identifiziert werden. Konvertieren Sie anschließend diese Abfrage in eine Aktualisierungsabfrage, die Sie zum Aktualisieren der Datensätze ausführen können.
Tipp Bevor Sie eine Aktualisierungsabfrage ausführen, sollten Sie Ihre Datenbank sichern. Da Sie die Ergebnisse einer Aktualisierungsabfrage nicht rückgängig machen können, wird mithilfe einer Sicherung sichergestellt, dass Sie im Bedarfsfall die Änderungen zurücknehmen können.
Sichern der Datenbank
- Klicken Sie auf die Registerkarte Datei und dann auf Freigeben.
- Klicken Sie rechts unter Erweitert auf Datenbank sichern.
- Geben Sie im Dialogfeld Sicherungskopie speichern als einen Namen und Speicherort für die Sicherungskopie an, und klicken Sie dann auf Speichern.
Die ursprüngliche Datei wird von Access geschlossen, eine Sicherungskopie wird erstellt, und die ursprüngliche Datei wird wieder geöffnet.
Schließen Sie die ursprüngliche Datei, wenn Sie eine Sicherung wiederherstellen möchten, und benennen Sie sie um, damit für die Sicherungskopie der Name der ursprünglichen Version verwendet werden kann. Weisen Sie der Sicherungskopie den Namen der ursprünglichen Version zu, und öffnen Sie dann die umbenannte Sicherungskopie in Access.
In diesem Abschnitt
Schritt 1: Erstellen einer Auswahlabfrage zum Identifizieren der Datensätze, die aktualisiert werden sollen
- Öffnen Sie die Datenbank, die die Datensätze enthält, die Sie aktualisieren möchten.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Makros und Code auf Abfrageentwurf.
Der Abfrage-Designer wird geöffnet, und das Dialogfeld Tabelle anzeigen wird geöffnet.
- Klicken Sie auf die Registerkarte Tabellen.
- Wählen Sie die Tabelle(n) aus, die die zu aktualisierenden Datensätze enthält bzw. enthalten, klicken Sie auf Hinzufügen, und klicken Sie dann auf Schließen.
Die Tabelle(n) wird bzw. werden als mindestens ein Fenster im Abfrage-Designer angezeigt. In den Fenstern werden alle Felder in jeder Tabelle aufgeführt. In dieser Abbildung wird der Abfrage-Designer mit einer typischen Tabelle angezeigt.

Tabelle im Abfrage-Designer

Abfrageentwurfsbereich
- Doppelklicken Sie in den Tabellenfenstern auf die Felder, die Sie aktualisieren möchten. Die ausgewählten Felder werden in der Zeile Feld im Abfrageentwurfsbereich angezeigt.
Im Abfrageentwurfsbereich können Sie ein Tabellenfeld pro Spalte hinzufügen.
Doppelklicken Sie im Tabellenfenster auf das Sternchen (*) am Anfang der Liste mit den Tabellenfeldern, um alle Felder in einer Tabelle schnell hinzuzufügen. In dieser Abbildung wird der Abfrageentwurfsbereich mit allen hinzugefügten Feldern angezeigt.
- Wenn Sie die Abfrageergebnisse aufgrund von Feldwerten einschränken möchten, geben Sie im Abfrageentwurfsbereich in der Zeile Kriterien die Kriterien ein, die zum Einschränken der Ergebnisse verwendet werden sollen.
Tabelle mit Beispielkriterien
In der folgenden Tabelle sind einige Beispielkriterien mit den jeweiligen Auswirkungen auf die Ergebnisse einer Abfrage aufgeführt.
Hinweis In vielen Beispielen dieser Tabelle werden Platzhalterzeichen verwendet, damit die Abfrage flexibler ist und bessere Ergebnisse liefert.
| Kriterien |
Auswirkung |
| >234 |
Gibt alle Zahlen größer als 234 zurück. Verwenden Sie < 234, um nach allen Zahlen zu suchen, die kleiner als 234 sind. |
| >="Motte" |
Gibt alle Datensätze ab Motte bis zum Ende des Alphabets zurück. |
| Zwischen #02.02.2007# Und #01.12.2007# |
Gibt Daten zwischen dem 2. Februar 2007 und dem 1. Dezember 2007 (ANSI-89) zurück. Wenn in der Datenbank ANSI-92-Platzhalterzeichen verwendet werden, verwenden Sie einfache Anführungszeichen (') anstelle der Nummernzeichen (#). Beispiel: Zwischen '02.02.2007' Und '01.12.2007'. |
| Nicht "Deutschland" |
Findet alle Datensätze, in denen die genauen Inhalte des Felds nicht "Deutschland" entsprechen. Durch das Kriterium werden Datensätze zurückgegeben, die neben "Deutschland" noch weitere Zeichen enthalten, z. B. "Deutschland (Euro)" oder "Europa (Deutschland)". |
| Nicht "T*" |
Findet alle Datensätze außer jenen, die mit "T" beginnen. Wenn in der Datenbank der ANSI-92-Platzhalterzeichensatz verwendet wird, verwenden Sie das Prozentzeichen (%) statt des Sternchens (*). |
| Nicht "*t" |
Findet alle Datensätze, die nicht auf "t" enden. Verwenden Sie das Prozentzeichen (%) anstelle des Sternchens (*), wenn Ihre Datenbank den ANSI-92-Platzhalter-Zeichensatz verwendet. |
| In(Kanada,GB) |
Findet in einer Liste alle Datensätze, die "Kanada" oder "GB" enthalten. |
| Wie "[A-D]*" |
Findet in einem Textfeld alle Datensätze, die mit den Buchstaben A bis D beginnen. Wenn in der Datenbank ANSI-92-Platzhalterzeichen verwendet werden, verwenden Sie das Prozentzeichen (%) anstelle des Sternchens (*). |
| Wie "*ar*" |
Ruft alle Datensätze ab, die die Buchstabenfolge "ar" enthalten. Wenn in der Datenbank ANSI-92-Platzhalterzeichen verwendet werden, fügen Sie anstelle des Sternchens (*) das Prozentzeichen (%) ein. |
| Wie "Maison Dewe?" |
Findet alle Datensätze, die mit "Maison" beginnen und eine zweite aus 5 Buchstaben bestehende Zeichenfolge enthalten, deren erste 4 Buchstaben "Dewe" lauten und deren letzter Buchstabe unbekannt ist. Wenn in der Datenbank der ANSI-92-Platzhalterzeichensatz verwendet wird, verwenden Sie einen Unterstrich (_) statt des Fragezeichens (?). |
| #2/2/2007# |
Findet alle Datensätze für den 2. Februar 2007. Schließen Sie das Datum in einfache Anführungszeichen (') anstelle von Nummernzeichen (#) ein, wenn in der Datenbank ANSI-92-Platzhalterzeichen verwendet werden. Beispiel: '2.2.2007'. |
| < Datum() - 30 |
Gibt mit der Funktion Datum alle Daten zurück, die mehr als 30 Tage zurückliegen. |
| Datum() |
Gibt mit der Funktion Datum alle Datensätze mit dem Tagesdatum zurück. |
| Zwischen Datum() und DatAdd("M", 3, Datum()) |
Verwendet die Funktionen Datum und DatAdd, um alle Datensätze zwischen dem Tagesdatum und dem Datum in drei Monaten ab heute zurückzugeben. |
| Ist Null |
Gibt alle Datensätze zurück, die einen (leeren oder nicht definierten) NULL-Wert enthalten. |
| Ist Nicht Null |
Gibt alle Datensätze zurück, die einen Wert enthalten. |
| "" |
Gibt alle Datensätze zurück, die eine leere Zeichenfolge enthalten. Leere Zeichenfolgen verwenden Sie, wenn Sie einem erforderlichen Feld einen Wert hinzufügen müssen, Sie aber diesen Wert noch nicht kennen. Beispielsweise könnte ein Feld eine Faxnummer erfordern, aber manche Ihrer Kunden haben möglicherweise kein Faxgerät. In diesem Fall geben Sie doppelte Anführungszeichen ohne Leerzeichen dazwischen ("") anstelle einer Zahl ein. |
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
- Überprüfen Sie, ob die Abfrage die Datensätze zurückgibt, die Sie aktualisieren möchten.
- Um alle Felder, die im Abfrageentwurf nicht enthalten sein sollen, zu entfernen, wählen Sie die Felder aus und drücken ENTF.
- Wenn Sie weitere Felder, die in der Abfrage enthalten sein sollen, hinzufügen möchten, ziehen Sie diese Felder in den Abfrageentwurfsbereich.
Schritt 2: Aktualisieren der Datensätze
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Aktualisieren.
Mit diesem Verfahren wird gezeigt, wie eine Auswahlabfrage in eine Aktualisierungsabfrage geändert wird. Dabei wird in Access dem Abfrageentwurfsbereich die Zeile Aktualisieren hinzugefügt. In der folgenden Abbildung wird eine Aktualisierungsabfrage gezeigt, die alle nach dem 5. Januar 2005 gekauften Posten zurückgibt und für alle Datensätze, die dieses Kriterium erfüllen, den Ort in Lagerhaus 3 ändert.
- Suchen Sie das Feld, das die Daten enthält, die Sie ändern möchten, und geben Sie dann in die Zeile Aktualisieren für dieses Feld den Ausdruck (Ihre Änderungskriterien) ein.
In der Zeile Aktualisieren können Sie jeden gültigen Ausdruck verwenden.
Tabelle mit Beispielausdrücken
Die folgende Tabelle enthält Beispielausdrücke und beschreibt, wie damit Daten geändert werden.
| Ausdruck |
Ergebnis |
| "Verkaufsberater/in" |
Ändert in einem Feld vom Datentyp Text einen Textwert in "Verkaufsberater/in". |
| #8/10/07# |
Ändert in einem Feld vom Datentyp Datum/Uhrzeit einen Datumswert in 10-Aug-07. |
| Ja |
Ändert in einem Feld vom Datentyp Ja/Nein den Wert Nein in Ja. |
| "TN" & [Teilenummer] |
Fügt "TN" am Anfang jeder angegebenen Teilenummer an. |
| [Einzelpreis] * [Menge] |
Multipliziert die Werte im Feld Einzelpreis mit der Menge. |
| [Fracht] * 1,5 |
Erhöht die Werte in einem Feld namens Fracht um 50 %. |
DomSumme("[Menge] * [Einzelpreis]", "Bestelldetails", "[ArtikelNr]=" & [ArtikelNr]) |
Wenn die Werte von ArtikelNr in der aktuellen Tabelle mit den Werten von ArtikelNr in der Tabelle Bestelldetails übereinstimmen, wird mit diesem Ausdruck der Gesamtumsatz aktualisiert, indem die Werte im Feld Menge mit den Werten im Feld Einzelpreis multipliziert werden. Der Ausdruck verwendet die Funktion DomSumme, da sie für mehr als eine Tabelle und mehr als ein Tabellenfeld ausgeführt werden kann. |
| Rechts([BestimmungsortPLZ], 5) |
Schneidet die linken Zeichen in einem Text oder einer numerischen Zeichenfolge ab (entfernt sie) und belässt die fünf rechten Zeichen. |
| Wenn(IstNull([Einzelpreis]), 0, [Einzelpreis]) |
Ändert im Feld Einzelpreis einen (unbekannten oder nicht definierten) Nullwert in Null (0). |
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Eine Warnmeldung wird angezeigt.
- Klicken Sie auf Ja, um die Abfrage auszuführen und die Daten zu aktualisieren.
Hinweis Wenn Sie die Abfrage ausführen, werden Sie möglicherweise bemerken, dass einige Felder im Resultset fehlen. Falls die Abfrage Felder enthält, die Sie nicht aktualisieren, werden diese von Access standardmäßig nicht in den Ergebnissen angezeigt. Beispielsweise können Sie ID-Felder aus zwei Tabellen einschließen, um sicherzustellen, dass Ihre Abfrage die richtigen Datensätze identifiziert und aktualisiert. Wenn Sie diese ID-Felder nicht aktualisieren, werden sie von Access nicht in den Ergebnissen angezeigt.
Seitenanfang
Aktualisieren von Daten einer Tabelle mit den Daten einer anderen
Wenn Sie Daten einer Tabelle mit den Daten einer anderen aktualisieren müssen, beachten Sie die folgende Regel: Die Datentypen der Quell- und Zielfelder müssen entweder übereinstimmen oder kompatibel sein.
Wenn Sie die Daten in einer Tabelle mit den Daten einer anderen aktualisieren und kompatible statt übereinstimmende Datentypen verwenden, werden außerdem von Access die Datentypen dieser Felder in der Zieltabelle konvertiert. Deshalb sind einige Daten in der Zieltabelle möglicherweise abgeschnitten (gelöscht). Im Abschnitt Beschränkungen für Datentypkonvertierungen sind die Möglichkeiten zum Konvertieren von Datentypen aufgeführt. In der Tabelle in diesem Abschnitt wird außerdem erläutert, wann durch das Konvertieren eines Datentyps einige oder alle Daten in einem Feld geändert oder entfernt werden und welche Daten entfernt werden können.
Zum Aktualisieren von Daten in einer Tabelle mit den Daten einer anderen Tabellen sind im Wesentlichen die folgenden Schritte erforderlich:
- Erstellen Sie eine Aktualisierungsabfrage, und fügen Sie der Abfrage die Quell- und Zieltabellen hinzu.
- Verknüpfen Sie die Tabellen in den Feldern, die die verwandten Informationen enthalten.
- Fügen Sie der Zeile Feld des Abfrageentwurfsbereichs die Namen der Zielfelder hinzu.
- Fügen Sie der Zeile Aktualisieren des Abfrageentwurfsbereichs die Namen der Quellfelder hinzu. Verwenden Sie dabei die folgende Syntax: [Quelltabelle].[Quellfeld].
Für die Schritte in diesem Abschnitt wird die Verwendung zweier ähnlicher Tabellen vorausgesetzt. In diesem Beispiel befindet sich die Kliententabelle in einer Datenbank, die Ihnen vor kurzem zur Verfügung gestellt wurde. Sie enthält aktuellere Daten als die Kundentabelle. Sie stellen fest, dass sich die Namen einiger Vorgesetzten sowie einige Adressen geändert haben. Deshalb entschließen Sie sich, die Kundentabelle mit den Daten aus der Kliententabelle zu aktualisieren.
Kliententabelle
| Klienten-ID |
Name |
Adresse |
Ort |
Bundesland/Kanton |
PLZ |
Land/Region |
Telefon |
Kontakt |
| 1 |
Baldwin Museum of Science |
Hauptstraße 1 |
Berlin |
Berlin |
12345 |
Deutschland |
(01234) 12 34-56 |
Jörg Bott |
| 2 |
Blue Yonder Airlines |
Montagsweg 123 |
Kiel |
Schleswig-Holstein |
23456 |
Deutschland |
(0123) 6 78-9 |
Cristina Potra |
| 3 |
Coho Winery |
Dienstagsstraße 234 |
Frankfurt am Main |
Hessen |
34567 |
Deutschland |
(0456) 1 23-0 |
David Probst |
| 4 |
Contoso Pharmaceuticals |
Beispielallee 234 |
München |
Bayern |
6789 |
Deutschland |
(098) 9 02-01 |
David Ahs |
| 5 |
Fourth Coffee |
Donnerstagsgasse 345 |
Hamburg |
|
56789 |
Deutschland |
(0123) 2 34 56 78 |
Per Reitzel |
| 6 |
Consolidated Messenger |
Beispielgasse 123 |
Frankfurt am Main |
Hessen |
34567 |
Deutschland |
(0456) 1 23-4 |
Michael Anderberg |
| 7 |
Graphic Design Institute |
Freitagsweg 78 |
Essen |
Nordrhein-Westfalen |
87654 |
Deutschland |
(04567) 78 91 23 45 |
Sara Hettich |
| 8 |
Litware, Inc. |
Sonntagsallee 456 |
Dortmund |
Nordrhein-Westfalen |
31415 |
Deutschland |
(05678) 56 78 91 23 |
Michael Brundage |
| 9 |
Tailspin Toys |
Sonntagsallee 56 |
Dortmund |
Nordrhein-Westfalen |
31415 |
Deutschland |
(05678) 56 78 91 23 |
Daniel Brunner |
Die Kundentabelle
| Kunden-ID |
Name |
Adresse |
Ort |
Bundesland/Kanton |
PLZ |
Land oder Region |
Telefon |
Manager |
| 1 |
Baldwin Museum of Science |
Hauptstraße 1 |
Berlin |
Berlin |
12345 |
Deutschland |
(01234) 12 34-56 |
Martin Rienstra |
| 2 |
Blue Yonder Airlines |
Montagsweg 123 |
Kiel |
Schleswig-Holstein |
23456 |
Deutschland |
(0123) 6 78-9 |
Cristina Potra |
| 3 |
Coho Winery |
Dienstagsstraße 234 |
Frankfurt am Main |
Hessen |
34567 |
Deutschland |
(0456) 1 23-0 |
David Probst |
| 4 |
Contoso Pharmaceuticals |
Beispielallee 234 |
München |
Bayern |
86789 |
Deutschland |
(098) 9 02-01 |
David Ahs |
| 5 |
Fourth Coffee |
Samstagsweg 789 |
Hamburg |
|
56789 |
Deutschland |
(0123) 2 34 56 78 |
Per Reitzel |
| 6 |
Consolidated Messenger |
Beispielgasse 123 |
Frankfurt am Main |
Hessen |
34567 |
Deutschland |
(0456) 1 23-4 |
Kim Ralls |
| 7 |
Graphic Design Institute |
Mittwochsallee 345 |
Essen |
Nordrhein-Westfalen |
87654 |
Deutschland |
(04567) 78 91 23 45 |
Gretchen Rivas |
| 8 |
Litware, Inc. |
Sonntagsallee 456 |
Dortmund |
Nordrhein-Westfalen |
31415 |
Deutschland |
(05678) 56 78 91 23 |
Jesper Aaberg |
| 9 |
Tailspin Toys |
Sonntagsallee 56 |
Dortmund |
Nordrhein-Westfalen |
31415 |
Deutschland |
(05678) 56 78 91 23 |
Daniel Brunner |
Bedenken Sie im weiteren Verlauf, dass die Datentypen für die einzelnen Tabellenfelder nicht übereinstimmen müssen. Sie müssen kompatibel sein. Die Daten in der Quelltabelle müssen von Access in einen Typ konvertiert werden, der von der Zieltabelle verwendet werden kann. In einigen Fällen können bei der Konvertierung Daten gelöscht werden. Weitere Informationen zu den Beschränkungen beim Konvertieren von Datentypen finden Sie im Abschnitt Beschränkungen für Datentypkonvertierungen.
Erstellen und Ausführen der Aktualisierungsabfrage
Hinweis Für die folgenden Schritte wird die Verwendung der beiden Beispieltabellen oben angenommen. Sie können die Schritte für Ihre Daten anpassen.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Makros und Code auf Abfrageentwurf.
- Klicken Sie im Dialogfeld Tabelle anzeigen auf die Registerkarte Tabellen.
- Doppelklicken Sie auf die Quell- und Zieltabellen, um sie der Abfrage hinzuzufügen, und klicken Sie dann auf Schließen. Jede Tabelle wird im oberen Abschnitt des Abfrage-Designers in einem Fenster angezeigt.
- In den meisten Fällen verknüpft Access verwandte Felder in einer Abfrage automatisch. Wenn Sie Felder, die verwandte Informationen erhalten, manuell verknüpfen möchten, ziehen Sie das zu verknüpfende Feld aus der einen Tabelle zum entsprechenden Feld in der anderen Tabelle.
Wenn Sie z. B. die oben gezeigten Beispieltabellen verwenden, ziehen Sie das Feld Klienten-ID in das Feld Kunden-ID. Dabei wird von Access eine Beziehung zwischen diesen Feldern in den beiden Tabellen erstellt. Über diese Beziehung werden die verwandten Datensätze verknüpft.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Aktualisieren.
- Doppelklicken Sie in der Zieltabelle auf die Felder, die Sie aktualisieren möchten. Jedes Feld wird in der Zeile Feld im Abfrageentwurfsbereich angezeigt.
Fügen Sie alle Felder außer dem Feld Kunden-ID hinzu, wenn Sie die Beispieltabellen verwenden. Der Name der Zieltabelle wird in der Zeile Tabelle des Entwurfsbereichs angezeigt.
- Geben Sie in der Zeile Aktualisieren der Abfrage für jede Spalte, die ein Zielfeld enthält, den Namen der Quelltabelle und das Feld in der Quelltabelle ein, das dem Feld in der Zieltabelle einspricht. Verwenden Sie dazu diese Syntax: [Tabelle].[Feld]. Schließen Sie dabei die Tabellen- und Feldnamen in eckige Klammern ein, und trennen Sie die Tabellen- und Feldnamen durch einen Punkt.
In dieser Abbildung wird ein Teil des Entwurfsbereich dargestellt. Dazu werden die Beispieltabellen verwenden. Beachten Sie die Syntax für die Tabellen- und Feldnamen in der Zeile Aktualisieren.
Bedenken Sie im weiteren Verlauf, dass Sie die Tabellen- und Feldnamen in der Zeile Aktualisieren richtig schreiben müssen. Außerdem muss die Zeichensetzung der ursprünglichen Tabellen- und Feldnamen übereinstimmen. Großschreibung müssen Sie jedoch nicht beachten.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
- Klicken Sie auf Ja, wenn Sie aufgefordert werden, das Update zu bestätigen.
Beschränkungen für Datentypkonvertierungen
In der folgenden Tabelle werden die Access-Datentypen aufgeführt, Beschränkungen beim Konvertieren von Datentypen erläutert und kurz mögliche Datenverluste beim Konvertieren beschrieben.
| Konvertierung in |
Von |
Änderungen oder Einschränkungen |
| Text |
Memo |
Access löscht außer den ersten 255 alle Zeichen. |
|
Zahl |
Keine Einschränkungen. |
|
Datum/Uhrzeit |
Keine Einschränkungen. |
|
Währung |
Keine Einschränkungen. |
|
AutoWert |
Keine Einschränkungen. |
|
Ja/Nein |
Der Wert "-1" (Ja in einem Ja/Nein-Feld) wird in Ja konvertiert. Der Wert "0" (Nein in einem Ja/Nein-Feld) wird in Nein konvertiert. |
|
Hyperlink |
Access schneidet Hyperlinks ab, die mehr als 255 Zeichen umfassen. |
| Memo |
Text |
Keine Einschränkungen. |
|
Zahl |
Keine Einschränkungen. |
|
Datum/Uhrzeit |
Keine Einschränkungen. |
|
Währung |
Keine Einschränkungen. |
|
AutoWert |
Keine Einschränkungen. |
|
Ja/Nein |
Der Wert "-1" (Ja in einem Ja/Nein-Feld) wird in Ja konvertiert. Der Wert "0" (Nein in einem Ja/Nein-Feld) wird in Nein konvertiert. |
|
Hyperlink |
Keine Einschränkungen. |
| Zahl |
Text |
Text muss aus Zahlen und gültigen Währungs- und Dezimaltrennzeichen bestehen. Die Anzahl der Zeichen im Text-Feld muss in dem für das Zahl-Feld festgelegten Größenbereich liegen. |
|
Memo |
Das Memo-Feld darf nur Text und gültige Währungs- und Dezimaltrennzeichen enthalten. Die Anzahl der Zeichen im Memo-Feld muss in dem für das Zahl-Feld festgelegten Größenbereich liegen. |
|
Zahl, jedoch mit einer anderen Feldgröße oder Genauigkeit |
Werte dürfen nicht größer oder kleiner als die Werte sein, die in der neuen Feldgröße gespeichert werden können. Wenn Sie die Genauigkeit ändern, rundet Access möglicherweise einige Werte. |
|
Datum/Uhrzeit |
Welche Datumsangaben konvertiert werden können, hängt von der Größe des Zahl-Felds ab. Denken Sie daran, dass Access alle Datumsangaben als serielle Datumsangaben und die Datumswerte als Gleitkommazahlen mit doppelter Genauigkeit speichert.
Access verwendet den 30. Dezember 1899 als Datum 0. Datumsangaben außerhalb des Bereichs zwischen dem 18. April 1899 und dem 11. September 1900 überschreiten die Größe eines Byte-Felds. Datumsangaben außerhalb des Bereichs zwischen dem 13. April 1810 und dem 16. September 1989 überschreiten die Größe eines Integer-Felds.
Legen Sie für die Eigenschaft Feldgröße des Zahl-Felds den Wert Long Integer oder größer fest, um alle möglichen Datumsangaben aufnehmen zu können.
|
|
Währung |
Werte dürfen die für das Feld festgelegte Größenbeschränkung nicht überschreiten (oder unterschreiten). Sie können beispielsweise das Feld Währung nur dann in ein Feld Integer umwandeln, wenn diese Werte größer als 255 und kleiner als 32.767 sind. |
|
AutoWert |
Werte müssen innerhalb der für das Feld festgelegten Größenbeschränkung liegen. |
|
Ja/Nein |
Ja-Werte werden in "-1" konvertiert. Nein-Werte werden in "0" konvertiert. |
|
|
|
| Datum/Uhrzeit |
Text |
Ursprünglicher Text muss als Datum oder als Datum/Uhrzeit-Kombination erkennbar sein. Beispiel: 18.01.07. |
|
Memo |
Ursprünglicher Text muss als Datum oder als Datum/Uhrzeit-Kombination erkennbar sein. Beispiel: 18.01.07. |
|
Zahl |
Wert muss zwischen -657.434 und 2.958.465,99998843 liegen. |
|
Währung |
Wert muss zwischen -657.434 € und 2.958.465,9999 € liegen. |
|
AutoWert |
Wert muss größer als -657.434 und kleiner als 2.958.466 sein. |
|
Ja/Nein |
Der Wert "-1" (Ja) wird in 29. Dezember 1899 konvertiert. Der Wert "0" (Nein) wird in Mitternacht (24:00:00 Uhr) konvertiert. |
|
|
|
| Währung |
Text |
Text muss aus Zahlen und gültigen Trennzeichen bestehen. |
|
Memo |
Text muss aus Zahlen und gültigen Trennzeichen bestehen. |
|
Zahl |
Keine Einschränkungen. |
|
Datum/Uhrzeit |
Keine Einschränkungen, der Wert wird von Access jedoch möglicherweise gerundet |
|
AutoWert |
Keine Einschränkungen. |
|
Ja/Nein |
Der Wert "-1" (Ja) wird in "1 €" konvertiert. Der Wert "0" (Nein) wird in "0 €" konvertiert. |
|
|
|
| AutoWert |
Text |
Nicht zulässig, wenn das AutoWert-Feld als Primärschlüssel dient. |
|
Memo |
Nicht zulässig, wenn das AutoWert-Feld als Primärschlüssel dient. |
|
Zahl |
Nicht zulässig, wenn das AutoWert-Feld als Primärschlüssel dient. |
|
Datum/Uhrzeit |
Nicht zulässig, wenn das AutoWert-Feld als Primärschlüssel dient. |
|
Währung |
Nicht zulässig, wenn das AutoWert-Feld als Primärschlüssel dient. |
|
Ja/Nein |
Nicht zulässig, wenn das AutoWert-Feld als Primärschlüssel dient. |
|
|
|
| Ja/Nein |
Text |
Ursprünglicher Text darf nur aus Ja, Nein, Wahr, Falsch, Ein oder Aus bestehen. |
|
Memo |
Ursprünglicher Text darf nur aus Ja, Nein, Wahr, Falsch, Ein oder Aus bestehen. |
|
Zahl |
Null wird in Nein konvertiert, alle anderen Werte werden in Ja konvertiert. |
|
Datum/Uhrzeit |
Null oder 24:00:00 Uhr wird in Nein konvertiert, alle anderen Werte werden in Ja konvertiert. |
|
Währung |
Keine und leere Zeichenfolgen werden in Nein konvertiert, alle anderen Werte werden in Ja konvertiert. |
|
AutoWert |
Alle Werte werden in Ja konvertiert. |
|
|
|
| Hyperlink |
Text |
Wenn der ursprüngliche Text eine gültige Webadresse, wie z. B. adatum.com, www.adatum.com oder http://www.adatum.com, enthält, konvertiert Access den Text in einen Hyperlink. Access versucht, andere Werte zu konvertieren, d. h., dass unterstrichener Text angezeigt wird und der Mauszeiger seine Form ändert, wenn Sie auf den Hyperlink zeigen, die Hyperlinks jedoch nicht funktionieren. Der Text kann ein beliebiges gültiges Webprotokoll aufweisen, einschließlich http://, Gopher://, Telnet://, ftp:// und was://. |
|
Memo |
Siehe vorherigen Eintrag. Es gelten dieselben Einschränkungen. |
|
Zahl |
Nicht zulässig, wenn ein Zahl-Feld Teil einer Beziehung ist. Wenn es sich beim ursprünglichen Wert um eine gültige IP-Adresse (vier Dreiergruppen Zahlen, die durch einen Punkt voneinander getrennt sind) handelt und die Zahlen mit einer Webadresse übereinstimmen, ergibt die Konvertierung einen gültigen Hyperlink. Andernfalls fügt Access http:// am Anfang jedes Werts an, und der resultierende Hyperlink ist nicht gültig. |
|
Datum/Uhrzeit |
Access stellt der Adresse http:// voran, der resultierende Hyperlink funktioniert jedoch fast nie. |
|
Währung |
Access stellt dem Wert http:// voran, aber wie bei Datumsangaben funktioniert der resultierende Hyperlink fast nie. |
|
AutoWert |
Nicht zulässig, wenn das AutoWert-Feld Teil einer Beziehung ist. Access stellt dem Wert http:// voran, der resultierende Hyperlink funktioniert jedoch fast nie. |
|
Ja/Nein |
Access konvertiert alle Ja-Werte in "-1" und alle Nein-Werte in "0", und stellt jedem Wert http:// voran. Der resultierende Hyperlink funktioniert nicht. |
Seitenanfang
Beenden des Modus "Deaktiviert" zum Blockieren einer Abfrage
Wenn Sie versuchen, eine Aktionsabfrage auszuführen, und Sie den Eindruck haben, dass nichts passiert, überprüfen Sie die Statusleiste von Access auf die folgende Meldung:
Die Aktion oder das Ereignis wurde durch den Modus 'Deaktiviert' blockiert.
Standardmäßig sind in Access alle Aktionsabfragen (Aktualisierungs-, Anfüge-, Lösch- oder Tabellenerstellungsabfragen) deaktiviert, sofern sich die Datenbank nicht an einem vertrauenswürdigen Speicherort befindet oder die Datenbank nicht signiert und nicht vertrauenswürdig ist. Wenn Sie keine dieser Aktionen ausgeführt haben, können Sie trotzdem die Abfrage für die aktuelle Datenbanksitzung nur aktivieren, indem Sie auf der Statusleiste auf Inhalt aktivieren klicken.
Seitenanfang
SQL-Version: UPDATE-Anweisung
Wenn Sie mit der Arbeit mit SQL vertraut sind, können Sie auch mithilfe der SQL-Ansicht eine UPDATE-Anweisung schreiben. Wenn Sie die SQL-Ansicht verwenden möchten, erstellen Sie eine neue, leere Abfrage, und wechseln Sie dann zur SQL-Ansicht.
Dieser Abschnitt enthält die Syntax für eine UPDATE-Anweisung und ein entsprechendes Beispiel.
Syntax
UPDATE Tabelle SET NeuerWert WHERE Kriterien;
Die UPDATE-Anweisung besteht aus den folgenden Teilen:
| Teil |
Beschreibung |
| Tabelle |
Der Name der Tabelle, die die Daten enthält, die Sie ändern möchten. |
| NeuerWert |
Ein Ausdruck für den Wert, der in ein bestimmtes Feld in den aktualisierten Datensätzen eingefügt werden soll. |
| Kriterien |
Ein Ausdruck, der festlegt, welche Datensätze aktualisiert werden. Nur Datensätze, die dem Ausdruck entsprechen, werden aktualisiert. |
Hinweise
Die UPDATE-Anweisung ist besonders hilfreich, wenn Sie viele Datensätze ändern möchten oder die zu ändernden Datensätze in mehreren Tabellen vorhanden sind.
Mehrere Felder können gleichzeitig geändert werden. Im folgenden Beispiel werden für Versandfirmen im Vereinigten Königreich die Werte für Order Amount um 10 % und die Werte für Freight um 3 % erhöht:
UPDATE Orders
SET OrderAmount = OrderAmount * 1.1,
Freight = Freight * 1.03
WHERE ShipCountry = 'UK';