[VB6] Connexion ADO à Excel.

Connexion ADO à Excel. [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 30-06-2010 à 15:33:17    

Je crée une connection ADO à un fichier Excel pour pouvoir à terme importer son contenu dans un base de donnée SQL. (Je suis en vb6)
 
J'utilise la chaine de connection suivante :  
 

Code :
  1. gADOExcelConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  2.              "Data Source=" + App.Path + "\ADO_EXCEL.xls;" & _
  3.              "Extended Properties=""Excel 8.0;HDR=Yes"";"


 
Malheureusement, sans raison apparente, certaine données sont manquante dans les recordsets d'arrivée, (avec un select * ).  
Quelqu'un a déjà rencontré ce problème ?  
 
Si besoin de plus de code et d'un bout du fichier Excel, n'hésitez pas à demander. Ce post est juste pour essayer de savoir si qqn à déjà connu des problèmes avec le couple ADO/Excel ; ou posséderais une certaine expérience sur le sujet.


Message édité par Qwerty111 le 30-06-2010 à 15:42:42
Reply

Marsh Posté le 30-06-2010 à 15:33:17   

Reply

Marsh Posté le 30-06-2010 à 15:38:48    

J'aurais tendance à ne pas utiliser Excel comme source de donnée...
Cad, que j'ouvrirai Excel, et lirai son contenu comme un vulgaire fichier.

Reply

Marsh Posté le 30-06-2010 à 15:42:29    

On peut naviguer dans le fichier Excel de la même manière qu'en vba ? Workbook.Sheet.Cell ? Comment dans ce cas initier la connexion au fichier .xls ?

Reply

Marsh Posté le 06-07-2010 à 15:46:38    

VB6/VBA, c'est la même chose, c'est juste une question de librairie disponible
 
donc en VB6 tu doit aller cocher la bonne référence genre
"Microsoft Excel 11.0 Object Librairy"
 
ensuite dans le code, tu instancis l'objet Application Excel
 
et tu peux reprendre l'intégralité des instructions VBA grace a cet objet application
 
de tête (en m'aidant de google) :
 
Set objExcel= CreateObject("Excel.application" )
objExcel.Visible = True ' So you can see Excel
objExcel.Workbooks.Add 'Adds a new book.
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed