PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Erreur doublon valeur NULL dans clé composée
Erreur doublon valeur NULL dans clé composée
Started by Bruno D., May, 06 2024 8:51 AM - 3 replies
Registered member
6 messages
Popularité : +1 (1 vote)
Posted on May, 06 2024 - 8:51 AM
Bonjour,

Dans un projet gérant le nullable, j'ai dans l'analyse une table "Ligne" qui possède une clé composée dont le premier champ "IDFeuille" est un entier et le second "checksum" un texte (sous type chaine et NULL autorisé) de 255 caractères.

HRAZ(Ligne)
//Ligne.IDPrimaire
Ligne.IDFeuille = 0
Ligne.checksum = Null
....
HAjoute(Ligne)


Si je fais un HAjoute sur cette table avec le second champ à NULL, j'ai un message d'erreur de doublon.
Si je supprime la clé, je n'ai plus ce message.

Tout ces paramètres sont activés :
* Projet : "Autoriser les types nullables"
* L'analyse : "Autoriser les types nullables"
* La table : "Null supporté" et "Null indexé (le .... 28)"

Est-ce une erreur Windev ou ai-je oublié quelque chose ?

Par avance merci pour votre temps et vose réponse

Bruno D.

--
Bruno D.
Registered member
3,922 messages
Popularité : +227 (347 votes)
Posted on May, 06 2024 - 10:29 AM
Bonjour,
Pour affecter NULL à une colonne, (dans ton cas Checksum,) il faut utiliser la propriété Null :
Ligne.checksum..Null=Vrai


--
Il y a peut être plus simple, mais, ça tourne
Registered member
3,922 messages
Popularité : +227 (347 votes)
Posted on May, 06 2024 - 12:32 PM
En relisant la doc sur la propriété Null on peut lire, je cite :
Limites

Il n'est pas possible d'utiliser la valeur NULL :
-sur les rubriques tableau.
-sur les identifiants automatiques.
-sur les clés composées.
Il n'est pas possible d'affecter la valeur NULL plusieurs fois à une rubrique prenant en compte la gestion des doublons.

Tu te trouve dans le 3° cas, éventuellement le 4°

--
Il y a peut être plus simple, mais, ça tourne
Registered member
6 messages
Popularité : +1 (1 vote)
Posted on May, 08 2024 - 5:45 PM
Merci Voroltinquo

--
Bruno D.