| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 08:39 |
Bonjour à tous ,
Alors voila mon problème j'exécute une requête avec SQLExec et j'écrit les résultats de cette dernière dans un fichier CSV or j'aimerais également récupérer le titre des colonnes comment faire ?
voici mon code : ResExec = SQLExec( "select éléments1,éléments2,élément3 from Table","REQ")
SI ResExec = Vrai ALORS SQLPremier("REQ")
TANTQUE SQL.EnCours ET PAS SQL.EnDehors
gsInfo est une chaine gsInfo += SQLCol("REQ",1)+TAB+ ";"+SQLCol("REQ",2)+TAB+ ";" +SQLCol("REQ",3)+RC
SQLSuivant("REQ") FIN
fCrée("C:\Mes Projets\info.csv") gnInfo = fOuvre("C:\Mes Projets\info.csv", foLectureEcriture)
SI gnInfo <> -1 ResEcriture = fEcritLigne( gnInfo , gsInfo) FIN
Merci d'avance ! |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 116 mensajes |
|
| Publicado el 25,agosto 2020 - 09:38 |
Bonjour,
Peut être en modifiant ta ligne
gsInfo est une chaine
en
gsInfo est une chaine = "éléments1;élements2;éléments3" + RC
? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 09:47 |
| Merci de ta réponse , je vais essayer ! |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 09:56 |
ER a écrit :
Bonjour,
Peut être en modifiant ta ligne
gsInfo est une chaine
en
gsInfo est une chaine = "éléments1;élements2;éléments3" + RC
?
Effectivement cela fonctionne, mais le problème c'est qu'en réalité ma requête possède plus de 10 éléments et cela deviendrais assez lourd de devoir tous les écrire, que faire ? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 116 mensajes |
|
| Publicado el 25,agosto 2020 - 10:06 |
Apparemment après le SQLExec(...) on peut récupérer le nom des colonnes avec
SQLInfoGene("REQ") POUR i = 1 _A_ SQL.NbCol Trace(SQL.TitreCol[i]) FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 10:12 |
ER a écrit :
Apparemment après le SQLExec(...) on peut récupérer le nom des colonnes avec
SQLInfoGene("REQ") POUR i = 1 _A_ SQL.NbCol Trace(SQL.TitreCol[i]) FIN Je vais essayer ça |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 10:47 |
La fonction Trace n'est pas compatible avec ce que je souhaite faire j'ai donc modifié le code comme ceci :
TANTQUE SQL.EnCours ET PAS SQL.EnDehors
SQLInfoGene("REQ") POUR compteur = 1_À_ 7 Titre = SQL.TitreCol[compteur] FIN
gsInfo est une chaine gsInfo +=Titre +RC+ SQLCol("REQ",1)+TAB+ ";"+SQLCol("REQ",2)+TAB+ ";" +SQLCol("REQ",3)+RC
malheureusement j'obtient uniquement le titre du dernier éléments et en boucle |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 116 mensajes |
|
| Publicado el 25,agosto 2020 - 11:06 |
D'abord le code est à placer après
SI ResExec = Vrai ALORS
pour ne l'exécuter qu'une fois Ensuite ça doit être un truc du genre
SQLInfoGene("REQ") POUR compteur = 1_À_ SQL.NbCol Titre += SQL.TitreCol[compteur] +";" FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 11:17 |
| Même résultats que tout à l'heure j'obtient le titre du premier éléments en boucle entre chaque ligne de données |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 11:28 |
J'ai réussi à avoir les titres qui s'affiche normalement , mais les titres se répètent a chaque ligne de données :
SI ResExec = Vrai ALORS SQLPremier("REQ") SQLInfoGene("REQ") POUR compteur = 1_À_ SQL.NbCol Titre += SQL.TitreCol[compteur]+";" FIN TANTQUE SQL.EnCours ET PAS SQL.EnDehors
gsInfo est une chaine gsInfo +=Titre +RC+ SQLCol("REQ",1)+TAB+ ";"+SQLCol("REQ",2)+TAB+ ";" +SQLCol("REQ",3)+RC |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 116 mensajes |
|
| Publicado el 25,agosto 2020 - 11:54 |
C'est normal il ne faut pas concaténer les titres dans la boucle
TANTQUE SQL.EnCours ET PAS SQL.EnDehors
gsInfo += SQLCol("REQ",1)+TAB+ ";"+SQLCol("REQ",2)+TAB+ ";" +SQLCol("REQ",3)+RC SQLSuivant("REQ") FIN
fCrée("C:\Mes Projets\info.csv") gnInfo = fOuvre("C:\Mes Projets\info.csv", foLectureEcriture)
SI gnInfo <> -1
//On écrit la ligne de titres, puis les données
ResEcriture = fEcritLigne( gnInfo , Titre + RC + gsInfo) FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 8 mensajes |
|
| Publicado el 25,agosto 2020 - 11:58 |
| Oui j'avais trouvé mon erreur, merci beaucoup pour tes réponses |
| |
| |
| | | |
|
| | |