PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → PB Requète UPDATE sur une liste d'enregistrements
PB Requète UPDATE sur une liste d'enregistrements
Iniciado por ThierryG, 31,ene. 2018 11:20 - 5 respuestas
Publicado el 31,enero 2018 - 11:20
Bonjour

Je suis sur un dilemme.

J'ai une requête qui sur le centre de contrôle HFSQL fonctionne. J'en déduit donc que le SL est bon
mais qui lorsque je l'appelle via un hexecute requète ne me fait qu'une partie du travail.
En gros je cherche à changer une valeur mais pour tout une liste d'individus.

Voici la requète
UPDATE
Clients
SET
IDSpecialite = {Param_IDNouvelleSpecialite}
WHERE
Clients.IDClient IN ({Param_IDListeClients})


Voici la requête de test dans HFSQL qui fonctionne très bien
UPDATE
Clients
SET
IDSpecialite = 4
WHERE
Clients.IDClient IN ('49','48')


Ci dessous l'appel.




Et à chaque fois je n'ai que le premier élément de la liste qui est modifié.

En vous remerciant
Miembro registrado
939 mensajes
Popularité : +66 (68 votes)
Publicado el 31,enero 2018 - 11:54
bonjour Thierry,

Votre rubrique IdClient est de quel type dans votre analyse ?
Car les ' sont à utiliser sur des rubriques texte. Vu le nom je pense qu'il s'agit d'un identifiant numérique ?

dans ce cas, pas de ' .

UPDATE
Clients
SET
IDSpecialite = 4
WHERE
Clients.IDClient IN (49,48)


bon dèv
Mensaje modificado, 31,enero 2018 - 11:55
Publicado el 31,enero 2018 - 13:28
Oui c'est bien un identifiant

Mais à travers la requête j'ai beau envoyer un "48,49" en paramètre de la requête, il n'y a toujours qu'un seul enregistrement d'impacté.
Miembro registrado
2.566 mensajes
Popularité : +222 (260 votes)
Publicado el 31,enero 2018 - 14:25
Bonjour,

Le séparateur est le ';' et non la ','

--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Publicado el 31,enero 2018 - 16:26
Merci beaucoup
Miembro registrado
5 mensajes
Publicado el 30,noviembre 2019 - 14:41
Bonjour.
En windev 22, j'ai écrit cette requête qui ne marche pas. Pouvez-vous m'aider ?
La sous requête calcule la somme des produits pour mettre à jour la table MvtStock.
Merci

UPDATE
MvtStock,
(
SELECT
LigneReception.CodProduit AS CodProduit,
SUM(LigneReception.QteDetails) AS QteDetails
FROM
Reception,
LigneReception
WHERE
Reception.Numero = LigneReception.Numero
AND
(
Reception.Date >= {ParamDateDeb}
AND Reception.Date <= {ParamDateFin}
AND Reception.CodFournisseur = {ParamCodFournisseur}
AND LigneReception.CodProduit = {ParamCodProduit}
)
GROUP BY
LigneReception.CodProduit
) AS REQ_Reception
SET
MvtStock.QteDetails_Reception = REQ_Reception.QteDetails
WHERE
MvtStock.CodProduit = REQ_Reception.CodProduit