2017-10-30 2 views
0

Ich habe eine monatliche Verkaufstabelle für verschiedene Kunden in ACCESS. Die Feldnamen sind in der Reihenfolge Sales_201601, Sales_201602 usw., die sich bei jeder Datenaktualisierung dynamisch ändern.Konvertieren von Null-Wert in 0 für alle Felder in MS-Zugriff

Ich bin auf der Suche nach einer SQL-Abfrage, die automatisch alle Spalten mit der Struktur Sales_: auswählen und Null-Wert in ACCESS auf 0 ändern kann.

Ich kann die Feldnamen nicht einzeln eingeben, da die Tabelle viele Spalten und Feldnamen im Laufe der Zeit ändert. Also müssen Sie einen Code schreiben, der sich dynamisch mit den Feldnamen ändert.

Ich bin neu zu MS-Zugang. Bitte hilf mir.

Dank

+1

Leer ist nicht dasselbe wie null. Null ist nicht das Gleiche wie 0. – jarlh

+0

Mögliches Duplikat von [Access 2010 - Ersetzen eines Nullwerts durch einen Wert] (https://stackoverflow.com/questions/6922308/access-2010-need-to-replace-a- Null-mit-einem-Wert) –

+0

Verwenden Sie keine Tabelle auf diese Weise. Verwenden Sie eine Kreuztabellenabfrage. – Gustav

Antwort

0

Sie die Felder einzeln aktualisieren können:

update t 
    set Sales_201601 = nz(Sales_201601, 0), 
     Sales_201602 = nz(Sales_201602, 0) 
    . . . ; 

Noch wichtiger ist, wollen Sie dies in Zukunft zu verhindern. Die Idee ist, die Spalte auf not null einzustellen und einen Standardwert festzulegen. Ich denke, das folgende funktioniert in MS Access:

alter table t alter Sales_201601 not null default 0; 

Sie sollten dies tun, wenn neue Spalten in die Tabelle hinzugefügt werden.

Übrigens wäre dies viel einfacher, wenn jede Spalte in einer separaten Zeile wäre.

+0

Danke, aber ich bin auf der Suche nach einem Code, der dynamisch alle Felder mit dem Schlüsselwort 'Sales' auswählen und dann Nullwerte in diesen Feldern auf Null ändern kann. – Bi1207

Verwandte Themen