PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Vérification d'existance d'une ligne de table1 dans table2
Vérification d'existance d'une ligne de table1 dans table2
Débuté par s.marc, 17 jan. 2005 14:32 - 3 réponses
Posté le 17 janvier 2005 - 14:32
Bonjour à tous et merci d'avance d'aider un débutant.

Dans une fenêtre j'ai créé 2 tables mémoires dont une remplie par une requête et l'autre se remplit par sélection de ligne dans la 1ère table. Tout fonctionne à merveille mais,
Si je sélectionne la 1ère ligne[table1] la table 2 reçoit la ligne
puis je sélectionne la 3ème ligne [table1] la table2 reçoit également la 3ème ligne
MAIS quand je sélectionne à nouveau la 1ère ligne[table1] la Table2 reçoit encore une fois la ligne 1 de la Table1

Je cherche à résoudre le fait que quand je sélectionne une ligne dans la table1, avant de reporter la ligne dans la table2
on vérifie si la table2 ne contient pas déjà la ligne. Voilà le problème ... ??????

Peut-on m'aider urgemment je dois faire une démo ce soir ?

voici le code que j'ai placé dans la table1 sous sélection d'une ligne de table1:

(les données proviennent d'une requète dans une table mémoire (table1)



Sélection d'une ligne de la table1
__________________________________

TableAffiche(Table2,taInit)

i est un entier
sit est un entier

i=TableSelectOccurrence(Table1)

SI Table1=-1 ALORS Info("aucune données à sélectionner !")

BOUCLE
//récupère l'indice sélectionné
sit=TableSelect(Table1,i)
SI sit=-1 ALORS SORTIR // plus aucune ligne sélectionnée
//on vérifie si la ligne existe déjà
SI TableSelect(Table2,Table1[sit])=-1 ALORS
TableAjouteLigne(Table2,Table1.col1,Table1.col2,Table1.col3,Table1.Col4)
FIN
i++
FIN
Posté le 17 janvier 2005 - 16:06
Bonjour

Dans le code de sélection d'une de la table1, ajoutez à la fin TableSupprime(indiceencours()).

Comme ça, la table1 se "déverse" dans la table2 au fur et à mesure des lignes sélectionnées.

Cordialement
Posté le 17 janvier 2005 - 16:27
Avec TableCherche sur ta 2éme table avec une valeur de recherche de ta 1ére table
Si la veleur de retour = -1 tu insert ta ligne
Posté le 17 janvier 2005 - 17:39
Merci mille fois,

avec la fonction tablecherche ça marche !
Cela ne marchais pas avant car je ne comparais pas les 1ère colonnes

Merci encore