Ich habe in Access eine Nachschlagetabelle erstellt, um die möglichen Werte für eine Spalte anzugeben. Jetzt muss ich diese Spalte mit den Daten aktualisieren, die sie hatte, bevor ich die Spalte umwandelte. Ich kann keine SQL-Abfrage herausfinden, die funktioniert. Ich erhalte immer wieder den Fehler "Eine UPDATE- oder DELETE-Abfrage darf kein mehrwertiges Feld enthalten." Meine Forschung hat vorgeschlagen, dass ich nur den Wert der Spalte setzen muss, aber das aktualisiert immer 0 Datensätze:
%Vor%Ich weiß, dass diese Abfrage funktionieren wird, wenn ich sie ändere, um eine Textspalte zu aktualisieren, also ist es definitiv ein Problem nur mit dieser Spalte.
Wenn Sie Ihrem mehrwertigen Feld einen Wert hinzufügen, verwenden Sie eine Append-Abfrage.
%Vor%Wenn Sie einen bestimmten Wert in Ihrem mehrwertigen Feld ändern möchten, verwenden Sie eine UPDATE-Anweisung. Zum Beispiel, um die 55 zu 56 zu ändern ...
%Vor%Siehe Verwenden von mehrwertigen Feldern in Abfragen für weitere Informationen.
Ich habe das herausgefunden! Es war sicherlich kontraintuitiv! Sie müssen eine INSERT-Anweisung verwenden, um das Update durchzuführen.
%Vor%Das verwirrte mich, weil ich eine UPDATE-Anweisung erwartete. Ich denke, es fügt tatsächlich einen Datensatz in eine versteckte Tabelle ein, die verwendet wird, um mehrere Werte mit dieser Spalte zu verknüpfen.
Ich arbeite mit Sharepoint, erstellte die Tabellen als mehrwertige Felder, lief mit meiner INSERT INTO
-Anweisung in den Fehler, ging zurück zu Sharepoint, um in nicht mehrwertige Felder zu wechseln, aber das konnte nicht behoben werden es.
Erstellte die Tabelle ohne mit mehrwertigen Feldern neu, und INSERT INTO
funktionierte problemlos.
Ich muss sagen, dass ich Ihr Problem nicht gut verstanden habe, aber ich habe etwas in Ihrer Anfrage gesehen. Versuchen Sie Folgendes:
%Vor% AKTUALISIEREN :
Schau dir diesen Link an: it hat ein Beispiel
HINWEISE
Sie sollten immer eine WHERE einschließen Klausel, die nur die Datensätze, die Sie aktualisieren möchten. Andernfalls werden Sie Datensätze aktualisieren dass du dich nicht ändern wolltest. Ein Aktualisiere eine Abfrage, die keine enthält WHERE-Klausel ändert jede Zeile in der Tabelle. Sie können einen Wert für angeben ändern.
Das Feld mit mehreren Werten bezieht sich auf Access-Datenbanken mit Tabellen mit Spalten, mit denen Sie mehrere Werte auswählen können, z. B. eine Combo-Checkbox-Liste.
THOSE sind die einzigen Zugriffstypen, mit denen SQL nicht arbeiten kann. Ich habe alle Access-Lookup-Möglichkeiten getestet, einschließlich fest codierter Werte und Lookup-Tabellen. Sie funktionieren einwandfrei, aber wenn Sie eine Spalte mit der Option Mehrere auswählen auswählen haben, haben Sie kein Glück. Auch die Verwendung des INSERT INTO, wie unten erwähnt, funktioniert nicht, da Sie einen ähnlichen, aber anderen Fehler bekommen, nämlich INSERT in mehrwertige Felder.
Wie bereits erwähnt, ist es am besten, solche Tabellen außerhalb von Access zu verwenden und sich auf eine Tabelle speziell für Ihre externen Anforderungen zu beziehen. Schreiben Sie dann ein Makro / VBA-Skript, um die realen Tabellen mit den Daten aus der "Hilfstabelle" zu aktualisieren.