OVH Cloud OVH Cloud

Requête Mise à Jour avec COnditions

4 réponses
Avatar
phil.aline.naudin
Bonsoir,

Je souhaiterai lancer une requête de Mise à Jour mais avec des conditions :

Si le champs A=0 ou vide alors le champ B qui est vide sera maj par la
valeur 200.
Si le champ A est différent de 0 alors le champ B qui soit vide ou non ne
sera pas mis à Jour.

Je tente de monter la requête avec le générateur d'expression. J'ai des
résultats mais je bloque avec les conditions "SI".

Merci d'avance pour votre précieux coup de main

4 réponses

Avatar
J-Pierre
Bonjour,

Si je comprends bien, tout se résume à des critères de sélection.

Pour la sélection, tu mets comme critères de sélection de tes champs A et B sur 2 lignes dans ta requête:
A = 0 et isnull(B)
or isnull(A) et isnull(B)

Pour la mise à jour du champ B:
B 0

--
J-Pierre

-----------------------------------------------------------------------
Pour la confiture de géranium: Il faut toujours dépoter les géraniums, j'ai connu une femme qui ne dépotait pas les géraniums,
c'était immangeable.
----------------------------------------------------------------------


"phil.aline.naudin" a écrit dans le message de news: 449c5d2e$0$848$
Bonsoir,

Je souhaiterai lancer une requête de Mise à Jour mais avec des conditions :

Si le champs A=0 ou vide alors le champ B qui est vide sera maj par la valeur 200.
Si le champ A est différent de 0 alors le champ B qui soit vide ou non ne sera pas mis à Jour.

Je tente de monter la requête avec le générateur d'expression. J'ai des résultats mais je bloque avec les conditions "SI".

Merci d'avance pour votre précieux coup de main



Avatar
phil.aline.naudin
Bonjour,
Si je capte bien je passe par 2 requêtes :
la première je sélectionne
la deuxième je mets à jour
Je pensais qu'il existait un moyen sur une requête après avoir mis des
conditions de mettre à jour.
Je teste mais avant tout merci pour ta réponse
"J-Pierre" a écrit dans le message de
news: %
Bonjour,

Si je comprends bien, tout se résume à des critères de sélection.

Pour la sélection, tu mets comme critères de sélection de tes champs A et
B sur 2 lignes dans ta requête:
A = 0 et isnull(B)
or isnull(A) et isnull(B)

Pour la mise à jour du champ B:
B 0

--
J-Pierre

-----------------------------------------------------------------------
Pour la confiture de géranium: Il faut toujours dépoter les géraniums,
j'ai connu une femme qui ne dépotait pas les géraniums, c'était
immangeable.
----------------------------------------------------------------------


"phil.aline.naudin" a écrit dans le message
de news: 449c5d2e$0$848$
Bonsoir,

Je souhaiterai lancer une requête de Mise à Jour mais avec des conditions
:

Si le champs A=0 ou vide alors le champ B qui est vide sera maj par la
valeur 200.
Si le champ A est différent de 0 alors le champ B qui soit vide ou non ne
sera pas mis à Jour.

Je tente de monter la requête avec le générateur d'expression. J'ai des
résultats mais je bloque avec les conditions "SI".

Merci d'avance pour votre précieux coup de main







Avatar
Eric
Bonjour,

Et quelque chose comme :
UPDATE LaTable SET chpB = 200
WHERE (chpA Is Null Or chpA=0) AND chpB Is Null;

?

Bonjour,
Si je capte bien je passe par 2 requêtes :
la première je sélectionne
la deuxième je mets à jour
Je pensais qu'il existait un moyen sur une requête après avoir mis des
conditions de mettre à jour.
Je teste mais avant tout merci pour ta réponse



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
J-Pierre
Non non, tout ça dans une même requête de MAJ dans laquelle tu sélectionnes les lignes devant être modifiées.

--
J-Pierre

-----------------------------------------------------------------------
Pour la confiture de géranium: Il faut toujours dépoter les géraniums, j'ai connu une femme
qui ne dépotait pas les géraniums, c'était immangeable.
----------------------------------------------------------------------


"phil.aline.naudin" a écrit dans le message de news: 449e6942$0$857$
Bonjour,
Si je capte bien je passe par 2 requêtes :
la première je sélectionne
la deuxième je mets à jour
Je pensais qu'il existait un moyen sur une requête après avoir mis des conditions de mettre à jour.
Je teste mais avant tout merci pour ta réponse
"J-Pierre" a écrit dans le message de news: %
Bonjour,

Si je comprends bien, tout se résume à des critères de sélection.

Pour la sélection, tu mets comme critères de sélection de tes champs A et B sur 2 lignes dans ta requête:
A = 0 et isnull(B)
or isnull(A) et isnull(B)

Pour la mise à jour du champ B:
B 0

--
J-Pierre

-----------------------------------------------------------------------
Pour la confiture de géranium: Il faut toujours dépoter les géraniums, j'ai connu une femme qui ne dépotait pas les géraniums,
c'était immangeable.
----------------------------------------------------------------------


"phil.aline.naudin" a écrit dans le message de news: 449c5d2e$0$848$
Bonsoir,

Je souhaiterai lancer une requête de Mise à Jour mais avec des conditions :

Si le champs A=0 ou vide alors le champ B qui est vide sera maj par la valeur 200.
Si le champ A est différent de 0 alors le champ B qui soit vide ou non ne sera pas mis à Jour.

Je tente de monter la requête avec le générateur d'expression. J'ai des résultats mais je bloque avec les conditions "SI".

Merci d'avance pour votre précieux coup de main