Update Ein mehrwertiges Feld in Access

7

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.

    
rsrobbins 16.05.2011, 13:30
quelle

7 Antworten

14

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.

    
HansUp 16.05.2011, 13:55
quelle
4

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.

    
rsrobbins 16.05.2011 14:05
quelle
3

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.

    
Tonig 09.12.2011 00:50
quelle
0

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

%Vor%
  

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.

    
Marco 16.05.2011 13:35
quelle
0

Verwenden Sie nicht den .value-Teil

%Vor%     
Luis Siquot 16.05.2011 13:40
quelle
0
%Vor%     
Don 03.07.2013 16:44
quelle
0

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.

    
Fandango68 07.01.2018 08:37
quelle

Tags und Links