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 sur et 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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager