Message d'erreur avec la méthode UpdateBatch (ADO)
Bonjour,
Je travaille sur un fichier Excel qui enregistre des informations dans une base de données Access. J'avais tout d'abord développé mes macros en utilisant DAO, puis j'ai essayé de passer à ADO. J'ai essayé toutes les combinaisons d'options possibles (je crois), et le temps d'execution est toujours supérieur avec ADO, à ma grande surprise. Il me reste à essayer la mise à jour en batch, mais je reçois le message d'erreur: "le nombre de lignes contenant des modifications en attente est supérieur à la limite autorisée". Ce qui est embêtant, car je reçois le message dès le deuxième AddNew... J'ai parcouru les différents sites traitant de ces questions et je n'ai trouvé aucune référence à ce problème potentiel... Savez-vous comment y remédier?
J'ouvre la base de la manière suivante:
Code:
1 2 3
| cn.Provider = "Microsoft.Jet.Oledb.4.0"
cn.ConnectionString = sFileCopy
cn.Open |
Les recordsets sont créés avec:
Code:
1 2
|
Call r.Open(sTable, cn, adOpenForwardOnly, adLockBatchOptimistic, adCmdTable) |
Puis j'ajoute les informations dans les recorsets:
Code:
1 2 3 4
|
r.AddNew Array1,Array2
r.AddNew Array1,Array3
... |
et pour finir:
Je reçois le message d'erreur dès le deuxième AddNew.
Si en plus vous savez m'expliquer pourquoi ma manière de procéder est plus lente qu'en DAO, je suis très intéressé!
Merci,
Yoann