"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| J'aimerais savoir si il est possible de faire une requête SQL depuis
| un fichier VBS vers un fichier excel.
|
| En gros faire une extraction SQL depuis un fichier excel.
|
| En vbs
|
| Merci
Par exemple via le fournisseur Microsoft Jet :
Le classeur Excel d'exemple se trouve en pièce jointe.
--- Coupez ici : RequestXLS.vbs ---
' connexion au classeur Microsoft Excel
Set oCon=CreateObject("ADODB.Connection")
oCon.Provider="Microsoft.Jet.OLEDB.4.0"
oCon.ConnectionString= _
"Data Source=D:Testeuro.xls;" & _
"Extended Properties=Excel 8.0;"
oCon.Open
' exécution de la requête SQL et extraction des données
Set oRs=oCon.Execute("SELECT * FROM [Feuil1$]")
While Not oRs.EOF
WScript.Echo _
oRs.Fields("Date") & " " & _
oRs.Fields("Equipe1") & "-" & _
oRs.Fields("Equipe2") & VBTab & _
oRs.Fields("Score")
oRs.MoveNext
Wend
--- Coupez ici : RequestXLS.vbs ---
Vous trouverez d'autres informations ici :
http://support.microsoft.com/kb/257819/
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free
"rénald" <rnald@discussions.microsoft.com> a écrit dans le message de
news:705F8413-4AEB-442E-8D0F-51B5D8927885@microsoft.com
| Hello,
Bonjour,
| J'aimerais savoir si il est possible de faire une requête SQL depuis
| un fichier VBS vers un fichier excel.
|
| En gros faire une extraction SQL depuis un fichier excel.
|
| En vbs
|
| Merci
Par exemple via le fournisseur Microsoft Jet :
Le classeur Excel d'exemple se trouve en pièce jointe.
--- Coupez ici : RequestXLS.vbs ---
' connexion au classeur Microsoft Excel
Set oCon=CreateObject("ADODB.Connection")
oCon.Provider="Microsoft.Jet.OLEDB.4.0"
oCon.ConnectionString= _
"Data Source=D:Testeuro.xls;" & _
"Extended Properties=Excel 8.0;"
oCon.Open
' exécution de la requête SQL et extraction des données
Set oRs=oCon.Execute("SELECT * FROM [Feuil1$]")
While Not oRs.EOF
WScript.Echo _
oRs.Fields("Date") & " " & _
oRs.Fields("Equipe1") & "-" & _
oRs.Fields("Equipe2") & VBTab & _
oRs.Fields("Score")
oRs.MoveNext
Wend
--- Coupez ici : RequestXLS.vbs ---
Vous trouverez d'autres informations ici :
http://support.microsoft.com/kb/257819/
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free
"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| J'aimerais savoir si il est possible de faire une requête SQL depuis
| un fichier VBS vers un fichier excel.
|
| En gros faire une extraction SQL depuis un fichier excel.
|
| En vbs
|
| Merci
Par exemple via le fournisseur Microsoft Jet :
Le classeur Excel d'exemple se trouve en pièce jointe.
--- Coupez ici : RequestXLS.vbs ---
' connexion au classeur Microsoft Excel
Set oCon=CreateObject("ADODB.Connection")
oCon.Provider="Microsoft.Jet.OLEDB.4.0"
oCon.ConnectionString= _
"Data Source=D:Testeuro.xls;" & _
"Extended Properties=Excel 8.0;"
oCon.Open
' exécution de la requête SQL et extraction des données
Set oRs=oCon.Execute("SELECT * FROM [Feuil1$]")
While Not oRs.EOF
WScript.Echo _
oRs.Fields("Date") & " " & _
oRs.Fields("Equipe1") & "-" & _
oRs.Fields("Equipe2") & VBTab & _
oRs.Fields("Score")
oRs.MoveNext
Wend
--- Coupez ici : RequestXLS.vbs ---
Vous trouverez d'autres informations ici :
http://support.microsoft.com/kb/257819/
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free
"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| J'aimerais savoir si il est possible de faire une requête SQL depuis
| un fichier VBS vers un fichier excel.
|
| En gros faire une extraction SQL depuis un fichier excel.
|
| En vbs
|
| Merci
Par exemple via le fournisseur Microsoft Jet :
Le classeur Excel d'exemple se trouve en pièce jointe.
--- Coupez ici : RequestXLS.vbs ---
' connexion au classeur Microsoft Excel
Set oCon=CreateObject("ADODB.Connection")
oCon.Provider="Microsoft.Jet.OLEDB.4.0"
oCon.ConnectionString= _
"Data Source=D:Testeuro.xls;" & _
"Extended Properties=Excel 8.0;"
oCon.Open
' exécution de la requête SQL et extraction des données
Set oRs=oCon.Execute("SELECT * FROM [Feuil1$]")
While Not oRs.EOF
WScript.Echo _
oRs.Fields("Date") & " " & _
oRs.Fields("Equipe1") & "-" & _
oRs.Fields("Equipe2") & VBTab & _
oRs.Fields("Score")
oRs.MoveNext
Wend
--- Coupez ici : RequestXLS.vbs ---
Vous trouverez d'autres informations ici :
http://support.microsoft.com/kb/257819/
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free
"rénald" <rnald@discussions.microsoft.com> a écrit dans le message de
news:705F8413-4AEB-442E-8D0F-51B5D8927885@microsoft.com
| Hello,
Bonjour,
| J'aimerais savoir si il est possible de faire une requête SQL depuis
| un fichier VBS vers un fichier excel.
|
| En gros faire une extraction SQL depuis un fichier excel.
|
| En vbs
|
| Merci
Par exemple via le fournisseur Microsoft Jet :
Le classeur Excel d'exemple se trouve en pièce jointe.
--- Coupez ici : RequestXLS.vbs ---
' connexion au classeur Microsoft Excel
Set oCon=CreateObject("ADODB.Connection")
oCon.Provider="Microsoft.Jet.OLEDB.4.0"
oCon.ConnectionString= _
"Data Source=D:Testeuro.xls;" & _
"Extended Properties=Excel 8.0;"
oCon.Open
' exécution de la requête SQL et extraction des données
Set oRs=oCon.Execute("SELECT * FROM [Feuil1$]")
While Not oRs.EOF
WScript.Echo _
oRs.Fields("Date") & " " & _
oRs.Fields("Equipe1") & "-" & _
oRs.Fields("Equipe2") & VBTab & _
oRs.Fields("Score")
oRs.MoveNext
Wend
--- Coupez ici : RequestXLS.vbs ---
Vous trouverez d'autres informations ici :
http://support.microsoft.com/kb/257819/
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free
"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| J'aimerais savoir si il est possible de faire une requête SQL depuis
| un fichier VBS vers un fichier excel.
|
| En gros faire une extraction SQL depuis un fichier excel.
|
| En vbs
|
| Merci
Par exemple via le fournisseur Microsoft Jet :
Le classeur Excel d'exemple se trouve en pièce jointe.
--- Coupez ici : RequestXLS.vbs ---
' connexion au classeur Microsoft Excel
Set oCon=CreateObject("ADODB.Connection")
oCon.Provider="Microsoft.Jet.OLEDB.4.0"
oCon.ConnectionString= _
"Data Source=D:Testeuro.xls;" & _
"Extended Properties=Excel 8.0;"
oCon.Open
' exécution de la requête SQL et extraction des données
Set oRs=oCon.Execute("SELECT * FROM [Feuil1$]")
While Not oRs.EOF
WScript.Echo _
oRs.Fields("Date") & " " & _
oRs.Fields("Equipe1") & "-" & _
oRs.Fields("Equipe2") & VBTab & _
oRs.Fields("Score")
oRs.MoveNext
Wend
--- Coupez ici : RequestXLS.vbs ---
Vous trouverez d'autres informations ici :
http://support.microsoft.com/kb/257819/
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free
"rénald" a écrit dans le message de
news:
| Hello
Bonjour,
| autre petite question :
|
| Dans le fichier xls j'ai des colonne de type :
|
| a|b|c|d|e|f...
|
| si j'écris une requête type :
|
|
| request = inputbox("nom de la personne recherchée ?")
| ...
| select * form 'sheet1$' where field("a") = request
| ...
|
| est-ce correct ?
"SELECT * FROM [sheet1$] WHERE a='" & request & "'"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"rénald" <rnald@discussions.microsoft.com> a écrit dans le message de
news:F2E7DD8A-E9D1-465A-83EB-2BED9A22A021@microsoft.com
| Hello
Bonjour,
| autre petite question :
|
| Dans le fichier xls j'ai des colonne de type :
|
| a|b|c|d|e|f...
|
| si j'écris une requête type :
|
|
| request = inputbox("nom de la personne recherchée ?")
| ...
| select * form 'sheet1$' where field("a") = request
| ...
|
| est-ce correct ?
"SELECT * FROM [sheet1$] WHERE a='" & request & "'"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"rénald" a écrit dans le message de
news:
| Hello
Bonjour,
| autre petite question :
|
| Dans le fichier xls j'ai des colonne de type :
|
| a|b|c|d|e|f...
|
| si j'écris une requête type :
|
|
| request = inputbox("nom de la personne recherchée ?")
| ...
| select * form 'sheet1$' where field("a") = request
| ...
|
| est-ce correct ?
"SELECT * FROM [sheet1$] WHERE a='" & request & "'"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| Merci de votre réponse.
|
| Toutefois lorsque j'essaye d'appeler un champ, rien ne se passe
| (s'affiche) : ...
| set conn=CreateObject("ADODB.Connection")
| 'j'utilise un DNS excel appelé BCC
| conn.connectionstring = "dsn¼C"
| conn.Open
|
| 'a = une colonne dans la feuille excel
| mySQL = "select * from [sheet1$] where a LIKE '%" & query &"%'"
|
| set rc=CreateObject("ADODB.recordset")
| rc.Open mySQL ,conn
|
| on error resume next
| do until rc.eof
| nom= rc("a").value
| MsgBox(nom)
|
| rc.movenext
|
| loop
| ...
|
| une idée?
Le problème ne provient pas du code joint. Avez-vous bien spécifié les
noms des colonnes dans la première ligne de votre feuille Excel
contenant les données ? Ci cela n'est pas le cas alors vos colonnes
portent par défaut les noms F1, F2, F3, ... De plus, en passant par un
DNS ODBC, la première ligne sera toujours ignorée en raison d'un bug du
driver ODBC Excel :
http://support.microsoft.com/kb/288343/en-us
Essayez donc de remplacer la référence à la colonne "a" par "F1"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"rénald" <rnald@discussions.microsoft.com> a écrit dans le message de
news:64A83E8B-0CDC-4CF3-9060-DEB7084A5DD7@microsoft.com
| Hello,
Bonjour,
| Merci de votre réponse.
|
| Toutefois lorsque j'essaye d'appeler un champ, rien ne se passe
| (s'affiche) : ...
| set conn=CreateObject("ADODB.Connection")
| 'j'utilise un DNS excel appelé BCC
| conn.connectionstring = "dsn¼C"
| conn.Open
|
| 'a = une colonne dans la feuille excel
| mySQL = "select * from [sheet1$] where a LIKE '%" & query &"%'"
|
| set rc=CreateObject("ADODB.recordset")
| rc.Open mySQL ,conn
|
| on error resume next
| do until rc.eof
| nom= rc("a").value
| MsgBox(nom)
|
| rc.movenext
|
| loop
| ...
|
| une idée?
Le problème ne provient pas du code joint. Avez-vous bien spécifié les
noms des colonnes dans la première ligne de votre feuille Excel
contenant les données ? Ci cela n'est pas le cas alors vos colonnes
portent par défaut les noms F1, F2, F3, ... De plus, en passant par un
DNS ODBC, la première ligne sera toujours ignorée en raison d'un bug du
driver ODBC Excel :
http://support.microsoft.com/kb/288343/en-us
Essayez donc de remplacer la référence à la colonne "a" par "F1"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| Merci de votre réponse.
|
| Toutefois lorsque j'essaye d'appeler un champ, rien ne se passe
| (s'affiche) : ...
| set conn=CreateObject("ADODB.Connection")
| 'j'utilise un DNS excel appelé BCC
| conn.connectionstring = "dsn¼C"
| conn.Open
|
| 'a = une colonne dans la feuille excel
| mySQL = "select * from [sheet1$] where a LIKE '%" & query &"%'"
|
| set rc=CreateObject("ADODB.recordset")
| rc.Open mySQL ,conn
|
| on error resume next
| do until rc.eof
| nom= rc("a").value
| MsgBox(nom)
|
| rc.movenext
|
| loop
| ...
|
| une idée?
Le problème ne provient pas du code joint. Avez-vous bien spécifié les
noms des colonnes dans la première ligne de votre feuille Excel
contenant les données ? Ci cela n'est pas le cas alors vos colonnes
portent par défaut les noms F1, F2, F3, ... De plus, en passant par un
DNS ODBC, la première ligne sera toujours ignorée en raison d'un bug du
driver ODBC Excel :
http://support.microsoft.com/kb/288343/en-us
Essayez donc de remplacer la référence à la colonne "a" par "F1"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Hello,
Il y a de l'avancement :
J'ai donc renommé les colonnes Excel. Maintenant j'arrive a extraire
uniquement la première colonne. Mais dès que je précise une autre colonne (de
la même ligne...), l'output est vide :
(cf script ci-dessous)
'name = première colonne extraction OK:
name = rc("name").value
hd = une des autres colonnes (output vide)
hd = rc("hd").value
merci
"Gilles LAURENT [MVP]" wrote:"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| Merci de votre réponse.
|
| Toutefois lorsque j'essaye d'appeler un champ, rien ne se passe
| (s'affiche) : ...
| set conn=CreateObject("ADODB.Connection")
| 'j'utilise un DNS excel appelé BCC
| conn.connectionstring = "dsn¼C"
| conn.Open
|
| 'a = une colonne dans la feuille excel
| mySQL = "select * from [sheet1$] where a LIKE '%" & query &"%'"
|
| set rc=CreateObject("ADODB.recordset")
| rc.Open mySQL ,conn
|
| on error resume next
| do until rc.eof
| nom= rc("a").value
| MsgBox(nom)
|
| rc.movenext
|
| loop
| ...
|
| une idée?
Le problème ne provient pas du code joint. Avez-vous bien spécifié les
noms des colonnes dans la première ligne de votre feuille Excel
contenant les données ? Ci cela n'est pas le cas alors vos colonnes
portent par défaut les noms F1, F2, F3, ... De plus, en passant par un
DNS ODBC, la première ligne sera toujours ignorée en raison d'un bug du
driver ODBC Excel :
http://support.microsoft.com/kb/288343/en-us
Essayez donc de remplacer la référence à la colonne "a" par "F1"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Hello,
Il y a de l'avancement :
J'ai donc renommé les colonnes Excel. Maintenant j'arrive a extraire
uniquement la première colonne. Mais dès que je précise une autre colonne (de
la même ligne...), l'output est vide :
(cf script ci-dessous)
'name = première colonne extraction OK:
name = rc("name").value
hd = une des autres colonnes (output vide)
hd = rc("hd").value
merci
"Gilles LAURENT [MVP]" wrote:
"rénald" <rnald@discussions.microsoft.com> a écrit dans le message de
news:64A83E8B-0CDC-4CF3-9060-DEB7084A5DD7@microsoft.com
| Hello,
Bonjour,
| Merci de votre réponse.
|
| Toutefois lorsque j'essaye d'appeler un champ, rien ne se passe
| (s'affiche) : ...
| set conn=CreateObject("ADODB.Connection")
| 'j'utilise un DNS excel appelé BCC
| conn.connectionstring = "dsn¼C"
| conn.Open
|
| 'a = une colonne dans la feuille excel
| mySQL = "select * from [sheet1$] where a LIKE '%" & query &"%'"
|
| set rc=CreateObject("ADODB.recordset")
| rc.Open mySQL ,conn
|
| on error resume next
| do until rc.eof
| nom= rc("a").value
| MsgBox(nom)
|
| rc.movenext
|
| loop
| ...
|
| une idée?
Le problème ne provient pas du code joint. Avez-vous bien spécifié les
noms des colonnes dans la première ligne de votre feuille Excel
contenant les données ? Ci cela n'est pas le cas alors vos colonnes
portent par défaut les noms F1, F2, F3, ... De plus, en passant par un
DNS ODBC, la première ligne sera toujours ignorée en raison d'un bug du
driver ODBC Excel :
http://support.microsoft.com/kb/288343/en-us
Essayez donc de remplacer la référence à la colonne "a" par "F1"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Hello,
Il y a de l'avancement :
J'ai donc renommé les colonnes Excel. Maintenant j'arrive a extraire
uniquement la première colonne. Mais dès que je précise une autre colonne (de
la même ligne...), l'output est vide :
(cf script ci-dessous)
'name = première colonne extraction OK:
name = rc("name").value
hd = une des autres colonnes (output vide)
hd = rc("hd").value
merci
"Gilles LAURENT [MVP]" wrote:"rénald" a écrit dans le message de
news:
| Hello,
Bonjour,
| Merci de votre réponse.
|
| Toutefois lorsque j'essaye d'appeler un champ, rien ne se passe
| (s'affiche) : ...
| set conn=CreateObject("ADODB.Connection")
| 'j'utilise un DNS excel appelé BCC
| conn.connectionstring = "dsn¼C"
| conn.Open
|
| 'a = une colonne dans la feuille excel
| mySQL = "select * from [sheet1$] where a LIKE '%" & query &"%'"
|
| set rc=CreateObject("ADODB.recordset")
| rc.Open mySQL ,conn
|
| on error resume next
| do until rc.eof
| nom= rc("a").value
| MsgBox(nom)
|
| rc.movenext
|
| loop
| ...
|
| une idée?
Le problème ne provient pas du code joint. Avez-vous bien spécifié les
noms des colonnes dans la première ligne de votre feuille Excel
contenant les données ? Ci cela n'est pas le cas alors vos colonnes
portent par défaut les noms F1, F2, F3, ... De plus, en passant par un
DNS ODBC, la première ligne sera toujours ignorée en raison d'un bug du
driver ODBC Excel :
http://support.microsoft.com/kb/288343/en-us
Essayez donc de remplacer la référence à la colonne "a" par "F1"
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr