#1 Thu 20 April 2006 12:08
- V. Girault
- Participant actif
- Lieu: Clermont-Ferrand
- Date d'inscription: 22 Sep 2005
- Messages: 106
Création d'une chaîne par concaténation de variables
Bonjour
Je suis en train d'essayer de créer une chaîne par concaténation de variables successives et après moultes essais, je n'y parvient pas trop.
Le but du jeu est d'obtenir au final dans une chaine COL1, COL2, COL3, COL4 et ainsi de suite.
Je lit d'abord le nombre de champs ou colonnes que possède d'une table
Au départ, j'était partie sur un algo de ce type :
Code:
For J = 1 to NbCT1 'ici, construction de chaine a revoir Note "J:"+J Ch1 = "COL"+J+"," K=J+1 If K< NbCT1 Ch2 = Ch1 + "COL"+K+"," End If Next ChaineFinale = Ch2+Ch1 Note ChaineFinale
NbCT1 récupère bien le nombre total de champ de la table.
Je ne récupère que COL2,COL3, COL4 dans ChaineFinale, il doit sûrement manquer un petit quelquechose....
Effectivement, l'idée de départ était bonne, mais comme le nombre de colonne de la table varie, je n'arrive pas à contourner ce problème. Je ne vois pas comment constituer la boucle, ou faire la bonne boucle, si une boucle suffit.
Ensuite, après avoir tortillé le code dans tous les sens sans parvenir à rien, je suis partie sur le fait de créer un fichier texte construit de cette façon pour en obtenir ensuite des variables en lecture ligne à ligne, sachant que le nombre de colonne varie d'une table à l'autre, puisque c'est de celà qu'il s'agit ici.
Voilà le fichier texte :
(
COL1
COL2
COL3
COL4
)
Ce cheminement pourrait-il fonctionner pour pouvoir construire au final une chaîne qui corresponde à ceci : (COL1, COL2, COL3, COL4), je vois bien pour la lecture du fichier texte mais pour la reconstitution de la chaîne, je ne voit pas trop comment faire.... Si vous avez quelques idées...
Cette chaîne sera ensuite à introduire dans une commande MB de ce type :
Insert into TABLE1 (COL1, COL2, COL3, COL4) Select COL1, COL2, COL3, COL4 from TABLE2
Pouvez-vous m'aider ?
Merci beaucoup
Hors ligne
#2 Thu 20 April 2006 13:00
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Création d'une chaîne par concaténation de variables
Bonjour,
A priori ce premier code est presque bon sauf qu'il suffirrait de dire:
Ch1=""
For J = 1 to NbCT1
If J< NbCT1
Ch1 = Ch1 + "COL"+J+","
Else
Ch1 = Ch1 + "COL"+J
End If
Next
Note Ch1
Hors ligne
#3 Fri 21 April 2006 10:15
- V. Girault
- Participant actif
- Lieu: Clermont-Ferrand
- Date d'inscription: 22 Sep 2005
- Messages: 106
Re: Création d'une chaîne par concaténation de variables
Bonjour,
Merci beaucoup à Maurice Nadal , effectivement, il ne manquait vraiment pas grand chose dans la boucle et comme d'habitude, en cherchant d'autres solutions, je me suis noyée dans des tests un peu plus compliqués....
Rien ne vaut le regard neuf d'un autre programmeur qui n'est pas dans le développement de l'outil convoité.
@ + tard...
Hors ligne