Utilisation de "IFF"

Le
Verreux Pierre
Bonjour, j'ai créer une procédure stockée de ce type (ACCESS 2003) :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,
@var1 real,
@var2 real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = @var1
WHERE (NrBon = @num_bon) UPDATE dbo.poids_reels
SET Adj1 = @var2
WHERE (NrBon = @num_bon) AND (Pesage = 2)
RETURN
Comme vous le voyez, j'envoie deux update consécutivement (en réalité,
ce devrait-être 6), dans la documentation ou les forum,j'ai lu qu'il était
possible de travailler avec "IFF" un peu comme "SELECT CASE" en VBA (ACCES
NE RECONNAIT PAS "CASE" en SQL). Je
n'arrive pas a écrire le code correctement, pouvez vous m'aider ?
Merci.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #20678171
Bonjour,

La doc du CASE est là :
http://msdn.microsoft.com/fr-fr/library/ms181765.aspx

Cela pourrait donner qq chose comme :

UPDATE dbo.poids_reels
SET Adj1 = CASE WHEN Pesage=2 THEN @var2 ELSE @Var1 END
WHERE (NrBon = @num_bon)

--
Patrice

"Verreux Pierre" groupe de discussion :
Bonjour, j'ai créer une procédure stockée de ce type (ACCESS 2003) :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,
@var1 real,
@var2 real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = @var1
WHERE (NrBon = @num_bon) UPDATE dbo.poids_reels
SET Adj1 = @var2
WHERE (NrBon = @num_bon) AND (Pesage = 2)
RETURN
Comme vous le voyez, j'envoie deux update consécutivement (en réalité,
ce devrait-être 6), dans la documentation ou les forum,j'ai lu qu'il était
possible de travailler avec "IFF" un peu comme "SELECT CASE" en VBA (ACCES
NE RECONNAIT PAS "CASE" en SQL). Je
n'arrive pas a écrire le code correctement, pouvez vous m'aider ?
Merci.





Verreux Pierre
Le #20678521
Merci Patrice, je creuse dans cette direction.
"Patrice" news:%
Bonjour,

La doc du CASE est là :
http://msdn.microsoft.com/fr-fr/library/ms181765.aspx

Cela pourrait donner qq chose comme :

UPDATE dbo.poids_reels
SET Adj1 = CASE WHEN Pesage=2 THEN @var2 ELSE @Var1 END
WHERE (NrBon = @num_bon)

--
Patrice

"Verreux Pierre"

de
groupe de discussion :
> Bonjour, j'ai créer une procédure stockée de ce type (ACCESS 2003) :
> ALTER PROCEDURE ProcédureStockée1
> (
> @num_bon int,
> @var1 real,
> @var2 real
> )
> AS
> SET NOCOUNT ON
> UPDATE dbo.poids_reels
> SET Adj1 = @var1
> WHERE (NrBon = @num_bon) UPDATE dbo.poids_reels
> SET Adj1 = @var2
> WHERE (NrBon = @num_bon) AND (Pesage = 2)
> RETURN
> Comme vous le voyez, j'envoie deux update consécutivement (en


réalité,
> ce devrait-être 6), dans la documentation ou les forum,j'ai lu qu'il


était
> possible de travailler avec "IFF" un peu comme "SELECT CASE" en VBA


(ACCES
> NE RECONNAIT PAS "CASE" en SQL). Je
> n'arrive pas a écrire le code correctement, pouvez vous m'aider ?
> Merci.
>
>
>



Verreux Pierre
Le #20679411
Grace à Patrice, j'ai résolu le problème comme suit :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,@var1 real,@var2 real,@var3 real,@var4 real,@var5 real,@var6
real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = CASE WHEN Pesage=1 THEN @var1 WHEN Pesage=2 THEN @var2 WHEN
Pesage = 3 THEN @var3 WHEN Pesage=4 THEN @var4 WHEN Pesage=5 THEN @var5 ELSE
@Var6 END
WHERE (NrBon = @num_bon)
RETURN
ça fonctionne, si ça peux servir....
Merci Patrice.

"Verreux Pierre" news:
Bonjour, j'ai créer une procédure stockée de ce type (ACCESS 2003) :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,
@var1 real,
@var2 real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = @var1
WHERE (NrBon = @num_bon) UPDATE dbo.poids_reels
SET Adj1 = @var2
WHERE (NrBon = @num_bon) AND (Pesage = 2)
RETURN
Comme vous le voyez, j'envoie deux update consécutivement (en réalité,
ce devrait-être 6), dans la documentation ou les forum,j'ai lu qu'il était
possible de travailler avec "IFF" un peu comme "SELECT CASE" en VBA (ACCES
NE RECONNAIT PAS "CASE" en SQL). Je
n'arrive pas a écrire le code correctement, pouvez vous m'aider ?
Merci.





Publicité
Poster une réponse
Anonyme