**` reception en parametre
**` $1 le texte a rechercher
**` $2 un pointeur sur la table d'origine
**` $3 un pointeur sur le champ d'origine
**` on renvoi vrai si on trouve ce texte quelque part
C_TEXTE($1)
C_POINTEUR($2;$3)
C_BOOLEEN($0)
C_ENTIER LONG($NumTable;$NumChamp;$i;$j;$k;$pos;$type)
$0:=Faux
$NumTable:=Table($2)
$NumChamp:=Champ($3)
` on bboucle sur toutes les tables
Boucle ($i;1;Nombre de tables)
TOUT SELECTIONNER($2->)
` on boucle sur tout les enreg
Boucle ($j;1;Enregistrements trouves($2->))
` on boucle pour chaque enreg sur tous les champs
Boucle ($k;1;Nombre de champs($i))
Si (($i=$NumTable)*&*($k=$NumChamp))
**` si table / champ d'origine, je ne fais rien (je suis sur de trouver la même chose
Sinon
` on prend le type car pas la peine de chercher du texte dans champ de type Entier, date, image.....
LIRE PROPRIETES CHAMP($i;$k;$Type)
Si (($type=Est un champ alpha )*|*($Type=Est un texte ))
` on regarde si on trouve le texte
$pos:=Position($1;Champ($i;$k)->)
Si ($pos#0)**` on en a trouvé (postion renvoi 0 si pas trouvé
` on mets tous les compteurs de boucle au maxi pour stopper le traitement
$i:=Nombre de tables
$j:=Enregistrements trouves($2->)
$k:=Nombre de champs($i)
` on libere les enreg
REDUIRE SELECTION($2->;0)
` on retourne vrai
$0:=Vrai
Fin de si
Fin de si
Fin de si
Fin de boucle
LIBERER ENREGISTREMENT($2->)
ENREGISTREMENT SUIVANT($2->)
Fin de boucle
Fin de boucle
Partager