PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → mettre à jour un tableau de structure
mettre à jour un tableau de structure
Débuté par Laurent, 18 déc. 2023 12:39 - 9 réponses
Membre enregistré
231 messages
Posté le 18 décembre 2023 - 12:39
bonjour,

j'ai cette structure
stentreprisergegeoloc est une Structure
note est un entier
code_postal est une chaîne
//_geopoint
commune est une chaîne
nom_entreprise est une chaîne
email est une chaîne
telephone est une chaîne
siret est une chaîne
FIN

stresultatentrepriserge est une Structure
results est un tableau de stentreprisergegeoloc
FIN

Gtabentrepriserge est un stresultatentrepriserge

je souhaite mettre à jour note à partir d'une autre requete
POUR TOUT stUnresultat DE Gtabentrepriserge.results
HLitRecherche(entreprise,siret,stUnresultat.siret)
SI HTrouve() ALORS
stUnresultat.note=entreprise.note
FIN
FIN

et afficher dans une table

POUR i =1 À Gtabentrepriserge.results..Occurrence
TableAjouteLigne(TABLE_entreprise,Faux,entreprise.note,Gtabentrepriserge.results[i].code_postal,Gtabentrepriserge.results[i].commune,Gtabentrepriserge.results[i].email,Gtabentrepriserge.results[i].telephone,Gtabentrepriserge.results[i].siret)

FIN

je galere à trouver à mettre à jour note

merci

--
LH
Membre enregistré
451 messages
Popularité : +31 (43 votes)
Posté le 18 décembre 2023 - 13:21
Bonjour

pourquoi ne pas lier par binding votre table à votre tableau ,dans la description de la table, onglet "contenu" choisir remplissage par variable et sélectionner votre tableau pour la source parcourue, ensuite pour chaque champs de la table onglet liaison choisir la rubrique en lien avec un membre de votre structure


ensuite un simple table affiche après une maj du tableau suffirai pour afficher les nouvelles informations mis à jour

cdlt

DG
Membre enregistré
231 messages
Posté le 18 décembre 2023 - 13:26
merci oui j'ai fait celà
mon pb n'est pas là
il est dans la mise à jour de note via le fichier entreprise

--
LH
Membre enregistré
451 messages
Popularité : +31 (43 votes)
Posté le 18 décembre 2023 - 13:34
Vous dites que vous avez fais cela mais de l'autre coté vous utilisez un tableajouteligne ! on utilise pas un tableajouteligne avec une table bindé !

rappel de votre code
POUR i =1 À Gtabentrepriserge.results..Occurrence
TableAjouteLigne(TABLE_entreprise,Faux,entreprise.note,Gtabentrepriserge.results[i].code_postal,Gtabentrepriserge.results[i].commune,Gtabentrepriserge.results[i].email,Gtabentrepriserge.results[i].telephone,Gtabentrepriserge.results[i].siret)

FIN


si note dans votre tableau est à jour pour en être sûr mettez un point d'arrêt âpres la modification et faite un évaluer l'expression sur le tableau, si note est modifier alors le problème est au niveau de l'affichage, si note n'est pas modifier c'est que le problème est avant

mais si votre tableau est à jour un simple tableaffiche devrais suffire à rafraichir la table
Message modifié, 18 décembre 2023 - 13:39
Membre enregistré
451 messages
Popularité : +31 (43 votes)
Posté le 18 décembre 2023 - 13:37
pour parcourir un tableau vous pouvez aussi utiliser cette forme d'écriture

pour tout item de Gtabentrepriserge
trace(item.note)
//etc....
fin
Membre enregistré
231 messages
Posté le 18 décembre 2023 - 13:42
certes mais mon pb n'est pas là
il est là:

POUR TOUT stUnresultat DE Gtabentrepriserge.results
HLitRecherche(entreprise,siret,stUnresultat.siret)
SI HTrouve() ALORS
stUnresultat.note=entreprise.note
FIN
FIN

note n'est pas mis à jour par entreprise.note

--
LH
Membre enregistré
451 messages
Popularité : +31 (43 votes)
Posté le 18 décembre 2023 - 13:46
et en enlevant le .results derrière votre tableau ? et en ajoutant une trace ca vous affiche quoi ?
POUR TOUT stUnresultat DE Gtabentrepriserge
HLitRecherche(entreprise,siret,stUnresultat.siret)
SI HTrouve() ALORS
trace("ori : " + entreprise.note)
stUnresultat.note=entreprise.note
trace("res :" + stUnresultat.note)
FIN
FIN
Message modifié, 18 décembre 2023 - 13:48
Membre enregistré
231 messages
Posté le 18 décembre 2023 - 15:00
ca plante vu que Gtabentrepriserge est une structure, pas un tableau

--
LH
Membre enregistré
231 messages
Posté le 18 décembre 2023 - 15:04
de discuter m'a fait trouver l'erreur
en fait mon code de maj est bon et tu avais raison le pb venait de l'affichage table
j'affichais
entreprise.note
à la place de
Gtabentrepriserge.results[i].note

merci

--
LH
Membre enregistré
451 messages
Popularité : +31 (43 votes)
Posté le 18 décembre 2023 - 15:17
je n'avais pas copié votre code dans une fenetre windev mais Vu l'imbrication de votre tableau dans une structure de structure je comprend mieux pourquoi cela ne marche pas et c'est pas simple pour la compréhension du code

Pourquoi compliquer !

donc simplifiez tous cela ! un tableau de structure à lui seul se suffit !

1 alimentez votre tableau d'origine
2 modifiez ce que vous avez à modifier dans ce tableau
3 tableaffiche


stentreprisergegeoloc est une structure
note est un entier
code_postal est une chaîne
//_geopoint
commune est une chaîne
nom_entreprise est une chaîne
Email est une chaîne
Téléphone est une chaîne
siret est une chaîne
FIN

Gtabentrepriserge est un tableau de stentreprisergegeoloc

//remplissez votre tableau et ensuite modifier le avec le code qui suit

POUR TOUT stUnresultat de Gtabentrepriserge
HLitRecherche(entreprise,siret,stUnresultat.siret)
SI HTrouve() ALORS
stUnresultat.note=entreprise.note
FIN
FIN
Message modifié, 18 décembre 2023 - 15:19