PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → création d'une colone après un constuittablefichier
création d'une colone après un constuittablefichier
Débuté par Fabien, 11 oct. 2018 12:08 - 3 réponses
Membre enregistré
30 messages
Posté le 11 octobre 2018 - 12:08
Bonjour,

j’essaie d'ajouter une colonne à une table construite à partir d'une requete, voici le code
ConstruitTableFichier(TABLE_ExtractMag, MaRequête, taRemplirTable)
chp est un Champ
xChamp est un Champ

chp <- TableEnumèreColonne(TABLE_ExtractMag,10)

xChamp <- ChampClone(chp, "COL_nb_ref")
xChamp..Largeur = chp..Largeur
xChamp..Libellé = "Nb_ref"


le code plant à partir de chp <- TableEnumèreColonne(TABLE_ExtractMag,10)

j'ai le message suivant :
Un élément de type 'chaîne ANSI' ne peut pas être converti vers le type 'champ'

une idée ?
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 13 octobre 2018 - 12:35
Vous n'avez pas la possibilité, dans la requete, de prévoir le champ ?
Select Champ1, Champ2, ' ' as NouveauChamp from LaTable
Membre enregistré
30 messages
Posté le 15 octobre 2018 - 14:17
Effectivement,

la solution est simple et redoutablement efficace,

merci

(J'aurai aimé comprendre pourquoi mon code ne fonctionne pas cela dit...)
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 16 octobre 2018 - 13:22
Bonjour Fabien,

pourquoi votre code ne fonctionne pas, car la méthode Champclone d'une table doit être appelée avant sont remplissage ( obligatoirement ).
Extrait de la documentation : ( https://doc.pcsoft.fr/fr-FR/?20026&name=CLF_Cloner_et_manipuler_des_colonnes_dans_un_champ_table )
Attention :
Il faut cloner les colonnes avant d'effectuer le remplissage du champ Table.

La méthode de Michel sera la plus simple, ou bien vous pouvez également Cloner vos colonnes, puis effectuer le remplissage de votre table manuellement avec le résultat de votre requête..


Fabien a écrit :
Effectivement,

la solution est simple et redoutablement efficace,

merci

(J'aurai aimé comprendre pourquoi mon code ne fonctionne pas cela dit...)