PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Problème avec Fichierversecran()
Problème avec Fichierversecran()
Débuté par Yann Métrailler, 28 juin 2005 11:09 - 11 réponses
Posté le 28 juin 2005 - 11:09
Bonjour,

Dans une fenêtre, je souhaite récupérer les informations d'un enregistrement d'un fichier.
Après avoir fait un HLitRecherche() pour trouver l'enregistrement voulu (et ca marche), je fais un fichierversecran() pour les afficher dans mes champs.

C'est là que se situe mon problème : Pour certains champs vides dans l'enregistrement de mon fichier, il affiche dans ma fenêtre des données provenant de l'enregistrement précédent. 0o

Savez-vous de quoi cela peut venir ? COmment y rémédier ?

Merci.

Yann
Posté le 28 juin 2005 - 15:25
bonjour,

peut-être ques les champs dans l'enregistrement vides ne vident justement pas le contenu des champs à l'écran
Faire un RAZ() avant le FicherVersEcran...
Posté le 28 juin 2005 - 15:53
J'ai déjà essayé le RAZ(), mais ca ne change rien... 0o
Posté le 28 juin 2005 - 19:00
Bonjour,

J'ai le même problème mais dans l'autre sens.
Je m'explique, soit une routine qui lit un fichier pour le transférer dans un autre.

Certaines zones ont un traitement spécial, elles vont :
1 - directement
2 - vers un autre champ, exemple si zone2 = "Monsieur" ALORS champx = "M"


Donc :
SI zone2 = "Monsieur" ALORS NomdeBase.Rubriquex = "M"

HAjoute( NomdeBase )

Je viens de m'appercevoir que si je réinitialise pas ma rubrique dans la boucle par
SI zone2 = "Monsieur" ALORS
NomdeBase.rubriquex = "M"
SINON
NomdeBase.rubriquex = ""
FIN

L'enregistrement suivant est égal à "M". ...

Il serait interessant que la fonction HAjoute() réinitialise ensuite toutes les rubriques du fichier pour la suite...

cordialement,

C.AUBRY
Posté le 29 juin 2005 - 11:15
HRAZ() est votre réponse!

rastam
Posté le 29 juin 2005 - 14:43
Merci mais j'ai essayé,

HRAZ() ans la boucle efface le contenu des rubriques en cours...

Cordialement,

C.AUBRY
Posté le 29 juin 2005 - 16:41
HRAZ() n'arrange pas non plus le problème chez moi...
Posté le 29 juin 2005 - 17:05
Hou la la ! Je crois que je viens de comprendre d'où vient mon problème. Je vais essayer d'être clair :

J'ai une première fenêtre qui me permet d'ajouter des enregistrements dans ce fichier, mais cette fenêtre NE CONTIENT PAS TOUS LES CHAMPS du fichier.

Lors de l'ajout, j'ai remarqué que les champs qui ne sont pas dans la fenêtre vont récupérer les données du premier enregistrement (selon la clé de parcours) et les ajoutent dans le fichier.

C'est pourquoi, lorsque je veux récupérer les données dans une autre fenêtre (avec tous les champs cette fois-ci), des données apparaissent dans les champs qui n'étaient pas présents dans la première fenêtre.

Y'a-t-il un moyen de contrer cela ?
Merci.
Posté le 29 juin 2005 - 17:12
hé bien HRAZ comme l'a dit "rastam" :)

Yann Métrailler a écrit :
Hou la la ! Je crois que je viens de comprendre d'où vient mon problème. Je vais essayer d'être clair :

J'ai une première fenêtre qui me permet d'ajouter des enregistrements dans ce fichier, mais cette fenêtre NE CONTIENT PAS TOUS LES CHAMPS du fichier.

Lors de l'ajout, j'ai remarqué que les champs qui ne sont pas dans la fenêtre vont récupérer les données du premier enregistrement (selon la clé de parcours) et les ajoutent dans le fichier.

C'est pourquoi, lorsque je veux récupérer les données dans une autre fenêtre (avec tous les champs cette fois-ci), des données apparaissent dans les champs qui n'étaient pas présents dans la première fenêtre.

Y'a-t-il un moyen de contrer cela ?
Merci.
Posté le 29 juin 2005 - 17:54
Je l'ai déjà dit 2 fois dans le sujet, HRAZ() n'arrange rien.
Tant pis, je me suis débrouillé autrement, d'une manière pas très conventionelle...
Posté le 29 juin 2005 - 18:54
Sauf que comme dit Hervé ou rastam, un HRAZ avant l'appel à hajoute (avant
de faire un ecranversfichier
ou de définir les rubriques une par une) résoudra parfaitement le problème
et ceci d'une manière conventionelle.


"Yann Métrailler" <yann.metrailler@dent-blanche.net> a écrit dans le message
de news: 42c29d7c$1@news.pcsoft.fr...

Je l'ai déjà dit 2 fois dans le sujet, HRAZ() n'arrange rien.
Tant pis, je me suis débrouillé autrement, d'une manière pas très
conventionelle...
Posté le 29 juin 2005 - 19:09
Le 29 juin 2005 à 16:54, dans <news:42c29d7c$1@news.pcsoft.fr>, Yann
Métrailler nous disait :

> Je l'ai déjà dit 2 fois dans le sujet, HRAZ() n'arrange rien.

Le HRAZ() doit être fait juste avant EcranVersFichier.

--
Cordialement