PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → SQL et Excel (bis)
SQL et Excel (bis)
Started by Damien, Mar., 04 2003 7:15 PM - 7 replies
Posted on March, 04 2003 - 7:15 PM
Bonjour,
je voudrais écrire des données dans un fichier Excel. La solution étant les
commandes SQL, d'après le manuel de Webdev, je me suis un peu penché sur
le sujet.
Mais je en parviens pas à établir de connexion SQL avec mon fichier.

De plus, je me demande de quel facon on cible les requetes dans un fichier
Excel (SELECT champs FROM table). champs et table correspondent à quoi dans
le fichier Excel ?

Merci de votre aide.

A bientot

Damien
Posted on March, 05 2003 - 9:55 AM
Slt Damien

Comment se passe ta connexion ODBC ???

A moins que tu utilises un lien API (dans ce cas le SQL devrait avoir un peu
de mal à fonctionner)??

Alain V

"Damien" <damien@jsi.fr> a écrit dans le message news: 3e64ed50$1@news....

Bonjour,
je voudrais écrire des données dans un fichier Excel. La solution étant

les
commandes SQL, d'après le manuel de Webdev, je me suis un peu penché sur
le sujet.
Mais je en parviens pas à établir de connexion SQL avec mon fichier.

De plus, je me demande de quel facon on cible les requetes dans un fichier
Excel (SELECT champs FROM table). champs et table correspondent à quoi

dans
le fichier Excel ?

Merci de votre aide.

A bientot

Damien

Posted on March, 05 2003 - 5:52 PM
Voici le message d'erreur que me renvoi le W-Langage :

"Erreur à la ligne 12 de la procédure "XLS_EXPORT.SOR":(msg 0666) (Il n'y
a pas de connexion en cours. (CS 00128)) pendant SQLExec"

pourtant, voici mon code :

requete est une chaine
gNomRequete est une chaine

si sqlconnecte("E:\suiviSAV\essai.xls","","","","Excel 8") <> 0 alors
sqlinfogene()
erreur(sql.meserreur)
FIN

gNomRequete = "Vider"
requete = "DELETE * FROM table1"

si sqlexec(requete,gNomRequete) = faux alors
sqlinfogene()
erreur(sql.meserreur)
FIN

sqlferme(gNomRequete)
sqldeconnecte()

merci d'avance.
Damien
Posted on March, 06 2003 - 10:13 AM
slt Damien

Essai plutôt
requête = "DELETE * FROM table1"
si sqlexec(requete,"Vider") = 0 alors
sqlinfogene()
erreur(sql.meserreur)
FIN

Normalement le résultat est censé être booléen mais sqlExec retourne
toujours 0 lorsqu'il échoue ou un nombre aléatoire en cas de réussite.

Tiens nous au courant.

Alain V

"Damien" <damien@jsi.fr> a écrit dans le message news: 3e662b51$1@news....

Voici le message d'erreur que me renvoi le W-Langage :

"Erreur à la ligne 12 de la procédure "XLS_EXPORT.SOR":(msg 0666) (Il n'y
a pas de connexion en cours. (CS 00128)) pendant SQLExec"

pourtant, voici mon code :

requete est une chaine
gNomRequete est une chaine

si sqlconnecte("E:\suiviSAV\essai.xls","","","","Excel 8") <> 0 alors
sqlinfogene()
erreur(sql.meserreur)
FIN

gNomRequete = "Vider"
requete = "DELETE * FROM table1"

si sqlexec(requete,gNomRequete) = faux alors
sqlinfogene()
erreur(sql.meserreur)
FIN

sqlferme(gNomRequete)
sqldeconnecte()

merci d'avance.
Damien

Posted on March, 06 2003 - 10:58 AM
J'ai toujours la même erreur...
Peut-etre que cela vient de mon SQLConnect ou alors d'un réglage dans mon
pilote ODBC...Faut-il définir le fichier Excel dans le gestionnaire ODBC
Windows ?
Si oui, je pense l'avoir fait, mais ca ne fonctionne toujours pas...


"SFCI Conseil - Alain" <sfci.conseil@wanadoo.fr> wrote:
slt Damien

Essai plutôt
requête = "DELETE * FROM table1"
si sqlexec(requete,"Vider") = 0 alors
sqlinfogene()
erreur(sql.meserreur)
FIN

Normalement le résultat est censé être booléen mais sqlExec retourne
toujours 0 lorsqu'il échoue ou un nombre aléatoire en cas de réussite.

Tiens nous au courant.

Alain V

"Damien" <damien@jsi.fr> a écrit dans le message news: 3e662b51$1@news....

Voici le message d'erreur que me renvoi le W-Langage :

"Erreur à la ligne 12 de la procédure "XLS_EXPORT.SOR":(msg 0666) (Il

n'y
a pas de connexion en cours. (CS 00128)) pendant SQLExec"

pourtant, voici mon code :

requete est une chaine
gNomRequete est une chaine

si sqlconnecte("E:\suiviSAV\essai.xls","","","","Excel 8") <> 0 alors
sqlinfogene()
erreur(sql.meserreur)
FIN

gNomRequete = "Vider"
requete = "DELETE * FROM table1"

si sqlexec(requete,gNomRequete) = faux alors
sqlinfogene()
erreur(sql.meserreur)
FIN

sqlferme(gNomRequete)
sqldeconnecte()

merci d'avance.
Damien




Posted on March, 06 2003 - 3:39 PM
Ce que je te recommandes c'est de créer un DSN System pour créer l'ODBC dont
tu as besoins en lui donnant le nom que tu veux : par exemple
"Connexion_Excel".

puis utilise la procédure suivante (Source sera "Connexion_Excel" que tu
auras noté en paramètre d'appel de SourceOdbc())

Déjà ça te donnera une idée sur la connexion ODBC (a-t-elle échoué ??
pourquoi ??)

Cette procédure est valable pour ACCESS et PARADOX sans autre modification
que la conception du DSN System
=======================================================================
Procédure SourceODBC(Source)
// connexion ODBC AV 20/08/2001
NomSource = source
wres = SQLConnecte(NomSource,"","","","ODBC")
// messages suite à mauvaise connexion ODBC lors du chargement de la page
si wres=0 alors
//La connexion a échoué, affichage d'un message explicatif
//Recherche du nom de la source dans la liste des sources disponibles
si position(rc+Majuscule(SQLListeSource("DATABASE","ODBC"))+rc,...
rc+Majuscule(NomSource)+rc)=0 alors
// Source NON trouvée dans la liste des données ODBC du poste
// En test sous l'éditeur, vérifier si l'option "Exécution..Mode Test 32
bits" est cochée
Erreur("Impossible de se connecter à la source ODBC : "+NomSource,...
"- Ce programme s'exécute en "+sysversionwindows()[[a 2]]+...
" bits, vérifiez que le driver ODBC est aussi "+sysversionwindows()[[a
2]]+" bits",...
"- La liste des sources de données ODBC disponibles en "+...
sysversionwindows()[[a 2]]+" bits est :",...
SQLListeSource("DATABASE","ODBC"),...
"REMARQUE : D'autres drivers ODBC sont peut être installés, mais non
configurés.")
sinon
// Source trouvée dans la liste
Erreur("La source de donnée "+NomSource+...
rc+" a bien été trouvée, mais la connexion a échoué."+...
rc+"- Vérifiez le mot de passe et le nom de la base")
fin
FIN
==================================================================

A partir du moment où on sait si la connexion ODBC est correcte ou pas tu
pourras réfléchir au SQL.

A+

Alain V

"Damien" <damien@jsi.fr> a écrit dans le message news: 3e671bc5$1@news....

J'ai toujours la même erreur...
Peut-etre que cela vient de mon SQLConnect ou alors d'un réglage dans mon
pilote ODBC...Faut-il définir le fichier Excel dans le gestionnaire ODBC
Windows ?
Si oui, je pense l'avoir fait, mais ca ne fonctionne toujours pas...


"SFCI Conseil - Alain" <sfci.conseil@wanadoo.fr> wrote:
slt Damien

Essai plutôt
requête = "DELETE * FROM table1"
si sqlexec(requete,"Vider") = 0 alors
sqlinfogene()
erreur(sql.meserreur)
FIN

Normalement le résultat est censé être booléen mais sqlExec retourne
toujours 0 lorsqu'il échoue ou un nombre aléatoire en cas de réussite.

Tiens nous au courant.

Alain V

"Damien" <damien@jsi.fr> a écrit dans le message news:

3e662b51$1@news....

Voici le message d'erreur que me renvoi le W-Langage :

"Erreur à la ligne 12 de la procédure "XLS_EXPORT.SOR":(msg 0666) (Il
n'y

a pas de connexion en cours. (CS 00128)) pendant SQLExec"

pourtant, voici mon code :

requete est une chaine
gNomRequete est une chaine

si sqlconnecte("E:\suiviSAV\essai.xls","","","","Excel 8") <> 0 alors
sqlinfogene()
erreur(sql.meserreur)
FIN

gNomRequete = "Vider"
requete = "DELETE * FROM table1"

si sqlexec(requete,gNomRequete) = faux alors
sqlinfogene()
erreur(sql.meserreur)
FIN

sqlferme(gNomRequete)
sqldeconnecte()

merci d'avance.
Damien






Posted on March, 06 2003 - 6:07 PM
Merci beaucoup, la connexion s'établi correctement avec votre méthode.
Il me reste à étudier la facon dont je vais écrire dans mon fichier Excel.

Merci encore,
Damien
Posted on March, 07 2003 - 11:58 AM
Bonjour Damien

Je te rassure : en fait c'est la méthode de l'aide de Webdev que j'ai très
légèrement adaptée (notamment en ne retenant que les messages jugés
nécessaires pour mes applis). Le grand mérite de cette aide est
l'universalité de ce module qui nous a été fourni.

Bon WE

Alain V


"Damien" <damien@jsi.fr> a écrit dans le message news: 3e67806e@news....

Merci beaucoup, la connexion s'établi correctement avec votre méthode.
Il me reste à étudier la facon dont je vais écrire dans mon fichier Excel.

Merci encore,
Damien