Convertir une boucle VBA en requête SQL
Résolu/Fermé
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
-
17 févr. 2012 à 06:19
Phoenellion Messages postés 116 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 30 août 2012 - 20 févr. 2012 à 21:43
Phoenellion Messages postés 116 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 30 août 2012 - 20 févr. 2012 à 21:43
A voir également:
- Convertir une boucle VBA en requête SQL
- Convertir youtube en mp3 avec audacity - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir audio en texte word - Guide
- Convertir clavier qwerty en azerty - Guide
1 réponse
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
33
Modifié par Phoenellion le 20/02/2012 à 21:58
Modifié par Phoenellion le 20/02/2012 à 21:58
Bonjour à tous.
N'étant pas très doué avec Access, j'ai contourné le problème autrement.
J'ai directement passé la table access en variable tableau, puis en adaptant le code initial, j'ai pu obtenir le résultat escompté. pour ceux que ça intéresserait, voici mon code :
A partir de là, toute opération est possible. Et contrairement à ce que l'ont pourrait penser, c'est très rapide.
3 500 000 enregistrements chargés en 30 secondes (core i7, 4Go).
@+
Phoe
N'étant pas très doué avec Access, j'ai contourné le problème autrement.
J'ai directement passé la table access en variable tableau, puis en adaptant le code initial, j'ai pu obtenir le résultat escompté. pour ceux que ça intéresserait, voici mon code :
Dim TabEntrée, TabSortie As Variant Dim DetFact As Recordset Set DetFact = CurrentDb.OpenRecordset("Prépa_DetFact") Dim Row, x1, x2, x As Long Dim Mois, Année As Integer Mois = 2 Année = 2012 ReDim TabEntrée(DetFact.RecordCount, 3) 'Chargement de la table Prépa_DetFact DetFact.MoveFirst x = 1 For x = 1 To DetFact.RecordCount If DetFact("NART") <> "" Then TabEntrée(x, 0) = DetFact("NART") TabEntrée(x, 1) = DetFact("QTE") TabEntrée(x, 2) = DetFact("DATFACT") End If DetFact.MoveNext Next x
A partir de là, toute opération est possible. Et contrairement à ce que l'ont pourrait penser, c'est très rapide.
3 500 000 enregistrements chargés en 30 secondes (core i7, 4Go).
@+
Phoe