Bonjour a tous ,
Voila je travail sur le developpement d'une application de gestion, j'ai seulement un probleme pour empecher la saisie d'une ligne en double sur un champ table
nb: je n'utilise pas d'hyperfile
![]()
Bonjour a tous ,
Voila je travail sur le developpement d'une application de gestion, j'ai seulement un probleme pour empecher la saisie d'une ligne en double sur un champ table
nb: je n'utilise pas d'hyperfile
![]()
Si tu sais pas comment gérer ce problème, je te conseil de lire un cours sur la programmation...
Si tu ne veux pas insérer de doublons dans une table, tu vérifies que la valeur à insérer n'est pas déjà dans la table...
Pour plus d'info sur comment faire, appuies sur![]()
![]()
voici le code que j'ai utiliser et ca ajout des lignes identiques a la derniere ajoutée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 l est un entier l=TableSelect(tab_auto) SI l >0 ALORS gsAutosel=tab_auto.code_ART[l] gsMethsel=tab_auto.Methode[l] SI TableCherche(tab_auto.code_ART,gsAutosel+TAB+gsMethsel)=-1 ALORS TableAjoute(tab_auto,codeselct+TAB+libselect) SINON Info("La ligne est en double, changer l'Article ou la Méthode !!!") RepriseSaisie(tab_auto.Methode) FIN SINON TableSupprime(tab_auto,l) // Info("selectionnez un article") FIN
En appuyant suret recherchant TableCherche, je vois que tu cherches mal la valeur dans ta table.
Tu cherches dans la colonne code_ART la valeur de tes deux colonnes si je comprend bien ton code...
De plus, TableAjoute a une syntaxe beaucoup plus élégante que séparer des valeurs par tabulation d'autant plus que si une des valeurs de tes colonnes contient une tabulation, le code ne marchera vraisemblablement pas.
enfet, la colonne codart peut avoir des valeurs en double mais pas la combinaison des deux colonnes codart est methode;
Personnellement dans ces cas là je rajoute une colonne caché qui est la concaténation des 2 colonnes formant l'unicité (les valeurs dans cette colonnes doivent donc être unique). J'utilise souvent un # pour séparer les 2 valeurs.
Ensuite, il me suffit de faire mes recherches sur cette colonne pour savoir si la valeur existe déjà ou non.
Partager