Bonjour, je peux me tromper de forum mais je pense que c'est lié, merci de lire jusqu'à la fin de mon pb (sinon, merci de lire au moins le résumé à la fin)

J'ai 3 tables:
commande: reference (primary key), reference_projet(int), responsable (varchar(50)), acheteur (varchar(50))
projet: reference (primary key, qui est commande.reference_projet), nom (varchar(50))
utilisateur: nom(varchar(50)), reference_projet (int), role ('acheteur', 'responsable', 'demandeur', 'administrateur')
et 2 pages web :
commande: 2 dropdownlists 'responsable' & 'acheteur'
projet: gridview de la table utilisateur (nom, reference_projet), avec la commande 'supprimer' pour chaque ligne

Un projet peut avoir plusieurs utilisateurs avec différents rôles, plus un utilisateur 'AdminAchat' (role Administrateur) par défaut.
Dans la page commande on peut choisir 1 responsable & 1 acheteur (pour le dropdownlist "responsable":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT distinct([Nom]) FROM [Utilisateur] where [Reference Projet]=@Reference_projet and (Role='Responsable' or Role='Administrateur'))
Dans page Projet, on supprime l'utilisateur qui a été choisi dans le dropdownlist "Responsable" (ou "Acheteur") d'une commande, la commande remplace le responsable supprimé par 'AdminAchat' comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
update Commande set Responsable='ADMINACHAT' 
where [Reference] in (select [Reference] from Commande where Responsable=@Nom and [Reference Projet]=@reference_projet) 
update Commande set Acheteur='ADMINACHAT' 
where [Reference] in (select [Reference] from Commande where Acheteur=@Nom and [Reference Projet]=@reference_projet)
DELETE FROM [Utilisateur] WHERE [Nom] = @Nom and [Reference projet]=@reference_projet and @Nom <> 'ADMINACHAT'
Le pb se pose quand je supprime 2 utilisateurs qui ont été choisi en tant que Responsable et Acheteur d'une même commande, il met '"L'argument spécifié n'était pas dans les limites de la plage des valeurs valides.Nom du paramètre : value", càd:

Ex1: Page commande: Commande 1: Responsable choisi 'A', Acheteur choisi 'AdminAchat'
Commande 2: Responsable choisi 'AdminAchat', Acheteur choisi 'B'
Page Projet: supprime 'A', OK. Puis supprime 'B', OK
Ex2: Page commande: Commande 3: Responsable choisi 'A', Acheteur choisi 'B'
Page Projet: supprime 'A', OK. Puis supprime 'B', NOK (L'argument spécifié n'était pas dans les limites de la plage des valeurs valides. Nom du paramètre : value)

Pourquoi cette différence? Merci de vos aides