Importer des données d'une feuille Excel dans Acces à l'aide de VB
cs_arte
Messages postés2Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention15 avril 2003
-
15 avril 2003 à 10:39
cs_morpheu
Messages postés5Date d'inscriptionvendredi 17 janvier 2003StatutMembreDernière intervention10 janvier 2007
-
4 oct. 2004 à 12:46
J'ai un gros problème, je dois réaliser l'importation d'un tableau Excel dans une base de donnée access. Lorsque je lance l'importation, tout démarre correctement. Mais à la 27ème ligne de mon tableau XLS le programme s-e bloque et me donne le message d'erreur suivant :
-2147217887 Multiple-Step operation generated errors. Check each status value.
Please I need help!!!!!!!!!
Voici le code
Set TestDB = New ADODB.Connection
With TestDB
.CursorLocation = adUseClient
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TFE\DataBase\TestApplicationDB.mdb;Mode=ReadWrite;Persist Security Info=False"
.Open
End With
Set TestRS = New ADODB.Recordset
TestRS.Open "Select * from Cables", TestDB, adOpenDynamic, adLockOptimistic
With ObjExcel
Set Objworkbook = .Workbooks.Open(PathNewCablingFile)
For i = 2 To NumRecords + 1
On Error GoTo message
TestRS.AddNew
TestRS.Fields("CablingFile") = CablingFile
TestRS.Fields("CableNumber") = .Cells(i, 1)
TestRS.Fields("WireNumber") = .Cells(i, 2)
TestRS.Fields("Function1") = .Cells(i, 6)
TestRS.Fields("Function2") = .Cells(i, 7)
TestRS.Fields("PLCAddress") = .Cells(i, 8)
TestRS.Fields("Burndy") = .Cells(i, 11)
TestRS.Fields("V24") = .Cells(i, 9)
TestRS.Fields("Date") = Date
TestRS.Fields("Time") = Time
TestRS.Fields("UserName") = "Import"
ProgressBar1.Value = ProgressBar1.Value + 1
Next
TestRS.Update
Project = .Cells(2, 21)
End With
A voir également:
Importer des données d'une feuille Excel dans Acces à l'aide de VB
cs_PROGRAMMIX
Messages postés1133Date d'inscriptionmercredi 2 octobre 2002StatutMembreDernière intervention24 juillet 20112 15 avril 2003 à 10:58
Je passerais déjà en revue le contenu de tes cellules de la ligne 27.
Le type des données contenues dans ces cellules correspondent-elles bien à ce qui est attendu par Access ?
Je compléterais également ton .Cells(i, x) par .Cells(i, x).Text ou .Cells(i, x).Value...
Excel affichant parfois "27" alors que le contenu de la cellule est "= 20 + 7", il peut y avoir contradiction par rapport à ce que tu attends.
Est-ce toujours ta ligne 27 qui bloque ?
Et si tu lançais ta procédure à partir de la ligne 28, rencontres-tu le même problème ?
Est-ce que par hasard le classeur ne serait pas en train de recalculer la feuille alors que tu es en train de le lire ?
---
En espérant que ces hypothèses t'aideront à découvrir la faille...