Provleme avec mes connexions a une bd

Ptichnours Messages postés 5 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 5 avril 2006 - 3 avril 2006 à 14:51
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 3 avril 2006 à 16:20
Bonjour,
Je me permet de poster un petit message car j'ai ecrit un code pour recuperer des données dans un tableau excel et de les inserer dans une base de données excel, mais voila ca ne marche pas je pense que cela est du a ma methode de connexion à la base et au fichier excel si vous pourriez m'aider ca m'enleverrai une sacré épine du pied.
Merci

Voila le code c'est fait sur VB2005

Dim bd As ADODB.Connection
Dim table As ADODB.Recordset
Dim sql As String
Dim iDate = Date.Today
Dim i As Integer
Dim iRef As String
Dim iQte As Integer
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

i = 1
iRef = "A"
'ouverture de la base de données
bd = New ADODB.Connection
bd.Open("\\Serveur2003\BASE\inventaire.mdb")
table = New ADODB.Recordset



'Ouverture de l'application
appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
wbExcel = appExcel.Workbooks.Open("C:\INVENTAIRE\Inventaire.xls")
'wsExcel correspond à la première feuille du fichier
wsExcel = wbExcel.Worksheets(1)
appExcel = CreateObject("Excel.Application")



While iRef <> ""
iRef = wsExcel.Cells(1, i).Value
iQte = wsExcel.Cells(2, i).Value

sql = "INSERT INTO MouvementStock (Compteur, Type, CodeArticle, CodeDepot, Date, Quantite) Values ('"" ', 'E','" & iRef & "',' DP ','" & iDate & "','" & iQte & "')"
table.Open(sql, bd)

'si la requete ne renvoie pas de résultats il n'est pas necessaire de fermer la table.

i = i + 1
End While

2 réponses

mcs2006 Messages postés 58 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 1 mai 2006
3 avril 2006 à 16:14
Bonjour,

Je n'ai pas essayé ton code mais pourquoi met-tu 2 fois :
appExcel = CreateObject("Excel.Application")

Le 2ème est de trop, c'est peut-être ça qui ne va pas ?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
3 avril 2006 à 16:20
salut,



si tu utilises vb 8 pourquoi ne pas utliser OleDB ?

avec OleDB tu peux à fois te connecter à ton classeur et à ta base.

avec deux DataSet remplis par des DataAdapters tu travailleras (à mon avis) plus facilement.



pour la connexion à Excel il faut utiliser la ConnectionString (référence) suivante :


"Provider= Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
"HDR=Yes;" indicates that the first row contains columnnames, not data
"IMEX =1;" tells the driver to always read "intermixed" data columns as text
TIP! SQL syntax: "SELECT * FROM [sheet1$]" - i.e. worksheet name followed by a "$" and wrapped in "[" "]" brackets.



[ Dalida ]<hr>
pensez à indiquer le langage utilisé et sa version !
0
Rejoignez-nous