Sie verwenden Updateabfragen in Access Datenbanken, um die Informationen in einem vorhandenen Datensatz hinzuzufügen, zu ändern oder zu löschen. Aktualisierungsabfragen können Sie sich als leistungsfähige Version des Dialogfelds Suchen und Ersetzen vorstellen. Mit einer Aktualisierungsabfrage können Sie keine neuen Datensätze zu einer Datenbank hinzufügen oder Datensätze aus einer Datenbank löschen.
Verwenden Sie eine Anfügeabfrage, um neue Datensätze zu einer Datenbank hinzuzufügen bzw. eine Löschabfrage, um ganze Datensätze aus einer Datenbank zu löschen.
Inhalt dieses Artikels
Übersicht
Die Ähnlichkeiten und Unterschiede zwischen dem Feld "Suchen und Ersetzen" und einer Aktualisierungsabfrage sind nachstehend aufgeführt:
Wie im Dialogfeld Suchen und Ersetzen können Sie mit einer Aktualisierungsabfrage den zu ersetzenden Wert und den neuen Wert angeben:
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 befinden sich nicht dauerhaft in Tabellen. Sie sind erst im temporären Arbeitsspeicher Ihres Computers vorhanden, nachdem Access sie berechnet hat. 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 Abfragen mit eindeutigen Datensätzen Die Werte in solchen Abfragen werden zusammengefasst. Einige der Werte stellen einen einzelnen Datensatz dar, andere stellen mehr als einen Datensatz dar. Der Aktualisierungsvorgang ist nicht möglich, da nicht ermittelt werden kann, welche Datensätze als Duplikate ausgeschlossen wurden und daher nicht alle erforderlichen Datensätze aktualisiert werden können. Diese Einschränkung gilt unabhängig davon, ob 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 aus den Ergebnissen entfernt werden, können 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: Wenn Sie Updates kaskadieren, aktualisiert Access Fremdschlüsselwerte automatisch, wenn Sie einen Primärschlüsselwert in einer übergeordneten Tabelle ändern.
Verwenden einer Aktualisierungsabfrage
Als bewährte Methode beim Erstellen einer Updateabfrage erstellen Sie zunächst eine Auswahlabfrage, die die datensätze identifiziert, die Sie aktualisieren möchten, und konvertieren Sie diese Abfrage dann in eine Updateabfrage, die Sie ausführen können, um die Datensätze zu aktualisieren. Indem Sie zuerst Daten auswählen, können Sie überprüfen, ob Sie die gewünschten Datensätze aktualisieren, bevor Sie tatsächlich Daten ändern.
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 wählen Sie dann Speichern unter aus.
-
Wählen Sie auf der rechten Seite unter Erweitert die Option Datenbank sichern aus.
-
Geben Sie im Dialogfeld Sicherung speichern unter einen Namen und speicherort für die Sicherungskopie an, und wählen Sie dann Speichern aus.
Access schließt die ursprüngliche Datei, erstellt eine Sicherung und öffnet dann die ursprüngliche Datei erneut.
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.
-
Wählen Sie auf der Registerkarte Erstellen in der Gruppe Abfragen die Option Abfrageentwurf aus.
-
Wählen Sie die Registerkarte Tabellen aus.
-
Wählen Sie die Tabelle(n) aus, die die zu aktualisierenden Datensätze enthält, wählen Sie Hinzufügen und dann Schließen aus.
Die Tabelle oder Tabellen werden als ein oder mehrere Fenster im Abfrage-Designer angezeigt, und die Fenster listen alle Felder in jeder Tabelle auf. Diese Abbildung zeigt den Abfrage-Designer mit einer typischen Tabelle.
1. Tabelle im Abfrage-Designer
2. 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 dem 02.02.2020 und dem 01.12.2020#
Gibt Datumsangaben vom 2.02.17 bis zum 1.12.17 (ANSI-89) zurück. Wenn Ihre Datenbank die ANSI-92-Wildcardzeichen verwendet, verwenden Sie einfache Anführungszeichen (') anstelle von Nummernzeichen (#). Beispiel: Zwischen "2/2/2020" und "12/1/2020" .
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/2020#
Sucht alle Datensätze für den 2. Februar 2020. Wenn Ihre Datenbank den ANSI-92-Zeichensatz verwendet, setzen Sie das Datum in einfache Anführungszeichen (') anstelle von Nummernzeichen (#); Beispiel: ('2/2/2020').
< 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 DateAdd("M", 3, Datum())
Verwendet die Funktionen Datum und DateAdd, 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.
-
Wählen Sie auf der Registerkarte Abfrageentwurf in der Gruppe Ergebnisse die Option Ausführen aus.
-
Ü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
-
Wählen Sie auf der Registerkarte Abfrageentwurf in der Gruppe Abfragetyp die Option Aktualisieren aus.
In diesem Verfahren erfahren Sie, wie Sie eine Auswahlabfrage in eine Updateabfrage ändern. Wenn Sie dies tun, fügt Access die Zeile Aktualisieren zu im Abfrageentwurfsraster hinzu. Die folgende Abbildung zeigt eine Aktualisierungsabfrage, die alle nach dem 5. Januar 2005 erworbenen Ressourcen zurückgibt und den Speicherort für alle Datensätze, die dieses Kriterium erfüllen, in "Warehouse 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 Kurzer Text einen Textwert in Salesperson.
#8/10/20#
Ändert in einem Datums-/Uhrzeitfeld einen Datumswert in 10-Aug-20.
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 "Menge".
[Fracht] * 1,5
Erhöht die Werte in einem Feld namens "Fracht" um 50 %.
DSum("[Quantity] * [UnitPrice]", "Bestelldetails", "[ProductID]=" & [ProductID])
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).
-
Wählen Sie auf der Registerkarte Abfrageentwurf in der Gruppe Ergebnisse die Option Ausführen aus.
Eine Warnmeldung wird angezeigt.
-
Wählen Sie Ja aus, 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. Wenn Ihre Abfrage Felder enthält, die Sie nicht aktualisieren, zeigt Access diese Felder standardmäßig nicht in den Ergebnissen an. 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 Access nicht in den Ergebnissen angezeigt.
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 Daten aus einer Tabelle in eine andere aktualisieren und kompatible Datentypen anstelle von übereinstimmenden Datentypen verwenden, konvertiert Access außerdem die Datentypen dieser Felder in der Zieltabelle. 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].
Die Schritte in diesem Abschnitt setzen die Verwendung von zwei ähnlichen Tabellen voraus. In diesem Beispiel befindet sich die Tabelle Clients in einer Datenbank, die Sie gerade geerbt haben, und enthält aktuellere Daten als die Tabelle Customers. Sie können sehen, dass sich einige Der Namen und Adressen des Managers geändert haben. Aus diesem Grund entscheiden Sie sich, die Tabelle Customers mit den Daten aus der Tabelle Clients 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 |
3122 75. Ave. S.W. |
Frankfurt am Main |
Hessen |
34567 |
Deutschland |
(0456) 1 23-0 |
David Probst |
|
4 |
Contoso Pharmaceuticals |
Beispielallee 234 |
München |
Bayern |
NS1 EW2 |
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 |
1587 Office Pkwy |
Essen |
Nordrhein-Westfalen |
87654 |
Deutschland |
(04567) 78 91 23 45 |
Sara Hettich |
|
8 |
Litware, Inc. |
3 Microsoft Way |
Dortmund |
Nordrhein-Westfalen |
31415 |
Deutschland |
(05678) 56 78 91 23 |
Michael Brundage |
|
9 |
Tailspin Toys |
4 Microsoft Way |
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 |
3122 75. Ave. S.W. |
Frankfurt am Main |
Hessen |
34567 |
Deutschland |
(0456) 1 23-0 |
David Probst |
|
4 |
Contoso Pharmaceuticals |
Beispielallee 234 |
München |
Bayern |
NS1 EW2 |
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. |
3 Microsoft Way |
Dortmund |
Nordrhein-Westfalen |
31415 |
Deutschland |
(05678) 56 78 91 23 |
Jesper Aaberg |
|
9 |
Tailspin Toys |
4 Microsoft Way |
Dortmund |
Nordrhein-Westfalen |
31415 |
Deutschland |
(05678) 56 78 91 23 |
Daniel Brunner |
Denken Sie im Weiteren daran, dass die Datentypen für jedes Tabellenfeld zwar nicht übereinstimmen müssen, aber kompatibel sein müssen. Access müssen in der Lage sein, die Daten in der Quelltabelle in einen Typ zu konvertieren, den die Zieltabelle verwenden kann. In einigen Fällen kann der Konvertierungsprozess einige Daten löschen. Weitere Informationen zu Einschränkungen beim Konvertieren von Datentypen finden Sie im Abschnitt Einschrä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.
-
Wählen Sie auf der Registerkarte Erstellen in der Gruppe Abfragen die Option Abfrageentwurf aus.
-
Wählen Sie Tabellen hinzufügen aus.
-
Doppelklicken Sie auf die Quell- und Zieltabellen, um sie der Abfrage hinzuzufügen. Jede Tabelle wird im oberen Abschnitt des Abfrage-Designers in einem Fenster angezeigt.
-
In den meisten Fällen verknüpft Access automatisch verwandte Felder in einer Abfrage. 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 beispielsweise die zuvor gezeigten Beispieltabellen verwenden, ziehen Sie das Feld Client-ID in das Feld Kunden-ID. Access erstellt eine Beziehung zwischen diesen Feldern in den beiden Tabellen und verwendet diese Beziehung, um verwandte Datensätze zu verknüpfen.
-
Wählen Sie auf der Registerkarte Abfrageentwurf in der Gruppe Abfragetyp die Option Aktualisieren aus.
-
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.
Diese Abbildung zeigt einen Teil des Entwurfsrasters unter Verwendung der Beispieltabellen. Beachten Sie die Syntax für die Tabellen- und Feldnamen in der Zeile Aktualisieren auf .
Denken Sie im Weiteren daran, dass Sie die Tabellen- und Feldnamen in der Zeile Aktualisieren auf richtig schreiben müssen und dass Sie alle Interpunktionszeichen in der ursprünglichen Tabelle und den Feldnamen übereinstimmen müssen. Sie müssen jedoch nicht mit der Groß-/Kleinschreibung übereinstimmen.
-
Wählen Sie auf der Registerkarte Abfrageentwurf in der Gruppe Ergebnisse die Option Ausführen aus.
-
Wenn Sie aufgefordert werden, das Update zu bestätigen, wählen Sie Ja aus.
Beschränkungen für Datentypkonvertierungen
In der folgenden Tabelle sind die Datentypen aufgeführt, die Access bereitstellt, erläutert alle Einschränkungen beim Konvertieren von Datentypen und beschreibt kurz alle Datenverluste, die während der Konvertierung auftreten können.
|
Konvertierung in |
Von |
Änderungen oder Einschränkungen |
|---|---|---|
|
Kurzer Text |
Langer Text |
Access löscht alle bis auf die ersten 255 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 Links ab, die länger als 255 Zeichen sind. |
|
|
Langer Text |
Kurzer 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 |
Kurzer Text |
Text muss aus Zahlen und gültigen Währungs- und Dezimaltrennzeichen bestehen. Die Anzahl der Zeichen im Feld "Text" muss in dem für das Feld "Zahl" festgelegten Größenbereich liegen. |
|
Langer Text |
Das Feld "Langer Text" darf nur Text und gültige Währungs- und Dezimaltrennzeichen enthalten. Die Anzahl der Zeichen im Feld "Langer Text" muss innerhalb der für das Feld Zahl festgelegten Größe 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. Eine Änderung der Genauigkeit kann dazu führen, dass Access einige Werte rundet. |
|
|
Datum/Uhrzeit |
Welche Datumsangaben konvertiert werden können, hängt von der Größe des Felds "Zahl" ab. Denken Sie daran, dass Access alle Datumsangaben als serielle Datumsangaben und die Datumswerte als gleitende ganze Zahlen mit doppelter Genauigkeit speichert. Access verwendet den 30. Dezember 1899 als Datum 0. Datumsangaben außerhalb des Bereichs 18. April 1899 und 11. September 1900 übersteigen die Größe eines Bytefelds. Datumsangaben außerhalb des Bereichs 13. April 1810 und 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 |
Kurzer Text |
Ursprünglicher Text muss als Datum oder als Datum/Uhrzeit-Kombination erkennbar sein. Beispiel: 18-Jan-2020. |
|
Langer Text |
Ursprünglicher Text muss als Datum oder als Datum/Uhrzeit-Kombination erkennbar sein. Beispiel: 18-Jan-2020. |
|
|
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 den 29. Dezember 1899 konvertiert. Der Wert 0 (Nein) wird in Mitternacht (12:00 Uhr) konvertiert. |
|
|
Währung |
Kurzer Text |
Text muss aus Zahlen und gültigen Trennzeichen bestehen. |
|
Langer Text |
Text muss aus Zahlen und gültigen Trennzeichen bestehen. |
|
|
Zahl |
Keine Einschränkungen. |
|
|
Datum/Uhrzeit |
Keine Einschränkungen, aber Access können den Wert runden. |
|
|
AutoWert |
Keine Einschränkungen. |
|
|
Ja/Nein |
Der Wert "-1" ("Ja") wird in "1 €" konvertiert. Der Wert "0" ("Nein") wird in "0 €" konvertiert. |
|
|
AutoWert |
Kurzer Text |
Nicht zulässig, wenn das AutoWert-Feld als Primärschlüssel dient. |
|
Langer Text |
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 |
Kurzer Text |
Ursprünglicher Text darf nur aus "Ja", "Nein", "Wahr", "Falsch", "Ein" oder "Aus" bestehen. |
|
Langer Text |
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 |
Kurzer Text |
Wenn der ursprüngliche Text eine gültige Webadresse wie adatum.com, www.adatum.com oder http://www.adatum.com enthält, konvertiert Access den Text in einen Link. Access versucht, andere Werte zu konvertieren, was bedeutet, dass unterstrichener Text angezeigt wird, und der Cursor ändert sich, wenn Sie auf den Link zeigen, aber die Links funktionieren nicht. Der Text kann ein beliebiges gültiges Webprotokoll aufweisen, einschließlich http://, Gopher://, Telnet://, ftp:// und was://. |
|
Langer Text |
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 Accesshttp:// an den Anfang jedes Werts an, und die resultierenden Links sind ungültig. |
|
|
Datum/Uhrzeit |
Access fügt http:// an den Anfang jeder Adresse an, aber die resultierenden Links funktionieren fast nie. |
|
|
Währung |
Access fügt http:// an den Anfang jedes Werts an, aber wie Datumsangaben funktionieren die resultierenden Links fast nie. |
|
|
AutoWert |
Nicht zulässig, wenn das AutoWert-Feld Teil einer Beziehung ist. Access fügt http:// an den Anfang jedes Werts an, aber die resultierenden Links funktionieren fast nie. |
|
|
Ja/Nein |
Access konvertiert alle Ja-Werte in -1 und alle Nein-Werte in 0 und fügt http:// an den Anfang jedes Werts an. Der resultierende Hyperlink funktioniert nicht. |
Beenden des Modus "Deaktiviert" zum Blockieren einer Abfrage
Wenn Sie versuchen, eine Aktionsabfrage auszuführen, und es scheint, als ob nichts geschieht, überprüfen Sie die Access status Leiste auf die folgende Meldung:
Die Aktion oder das Ereignis wurde durch den Modus 'Deaktiviert' blockiert.
Standardmäßig deaktiviert Access alle Aktionsabfragen (Aktualisieren, Anfügen, Löschen oder Erstellen von Tabellenabfragen), es sei denn, Ihre Datenbank befindet sich an einem vertrauenswürdigen Speicherort oder die Datenbank ist signiert und vertrauenswürdig. 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.
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 newvalueWHERE-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';