web-dev-qa-db-fra.com

Comment remplacer les valeurs vides (null) par pour tous les enregistrements?

MS Access: Comment remplacer les valeurs vides (nulles) par 0 pour tous les enregistrements?

Je suppose que cela doit être fait en utilisant SQL. Je peux utiliser Rechercher et remplacer pour remplacer 0 par un blanc, mais pas l'inverse (ne "trouvera" pas un blanc, même si j'entre dans la [Ctrl-barre d'espace] qui insère un espace.

Donc, je suppose que je dois faire du SQL où je trouve des valeurs nulles pour MyField, puis les remplace toutes par 0.

15
rick

Accédez à la fenêtre du concepteur de requête, passez en mode SQL et essayez ceci:

Update Table Set MyField = 0
Where MyField Is Null; 
20
Charles Bretana

Si vous essayez de le faire avec une requête, voici votre réponse:

SELECT ISNULL ([champ], 0) FROM [table]

Modifier

La fonction ISNULL n'a pas été utilisée correctement - cette version modifiée utilise IIF

SELECT IIF(ISNULL([field]), 0, [field]) FROM [table]

Si vous souhaitez remplacer les valeurs réelles dans la table, procédez de la manière suivante:

UPDATE [table] SET [FIELD] = 0 WHERE [FIELD] IS NULL
13
Gabriel McAdams
UPDATE table SET column=0 WHERE column IS NULL
3
mopoke
UPDATE YourTable SET MyField = 0 WHERE MyField IS NULL

fonctionne dans la plupart des dialectes SQL. Je n'utilise pas Access, mais cela devrait vous aider à démarrer.

3
Ken White

sans 'où est et' si est ...

Update Table Set MyField = Nz(MyField,0)
3
Philippe Grondier

Une meilleure solution consiste à utiliser la fonction NZ (null à zéro) lors de la génération de la table => NZ ([NomColonne]) Elle est égale à 0, où "null" dans NomColonne.

2
user3292421

La requête suivante fonctionne également et vous n'aurez pas besoin d'une requête de mise à jour si c'est ce que vous préférez:

IIF(Column Is Null,0,Column)
2
Sadie

Utiliser rechercher et remplacer fonctionnera si vous tapez "null" dans la recherche et mettez un zéro dans le remplacement ... vous serez averti que cela ne peut pas être annulé.

1
Jim Keifer

J'ai utilisé un processus en deux étapes pour modifier les lignes avec des valeurs "vides" en "Null" en tant que paramètres réservés. 

UPDATE [TableName] SET [TableName].[ColumnName] = "0"
WHERE ((([TableName].[ColumnName])=""));

UPDATE [TableName] SET [TableName].[ColumnName] = "Null"
WHERE ((([TableName].[ColumnName])="0"));
0
Guest1

Je voudrais changer l'instruction SQL ci-dessus pour être plus générique. L'utilisation de caractères génériques n'est jamais une mauvaise idée quand il s'agit de population de masse d'éviter les valeurs nulles. 

Essaye ça:

Update Table Set * = 0 Where * Is Null; 
0
x2600

Je viens d'avoir ce même problème, et j'ai fini par trouver la solution la plus simple qui convient à mes besoins. Dans les propriétés de la table, j'ai défini la valeur par défaut sur 0 pour les champs pour lesquels je ne souhaite pas afficher les valeurs NULL. Super facile. 

0
Aly