Inserer donnes requete dans un tableau-NEED FOR SPEED

Fermé
julienNYNY - 14 mars 2013 à 14:41
 julienNYNY - 14 mars 2013 à 16:24
Bonjour,

Je travaille dans Acess, et afin d'ameliorer la vitesse de chargement d'une form, je souhaiterais creer une table qui chargerait les donnes d'une requete on Gotfocus.
Cette table servirait a fournir des donnes a une listbox.
J'utilise recordset car c'est extremement rapide.
A noter que j'ai 3 colonnes et des lignes variables ( de 0 a 100 peut etre ), que le tableau s'apelle avarValeurs et la requete "qryNCRs and CMPNN All assy"
Je suis en amerique donc requete : query , tableau : array, pour ceux qui ne sauraient pas !
J'ai mis le code suivant dans l'event:

Private Sub List359_GotFocus()

Dim rst As DAO.Recordset
Dim avarValeurs As Variant
Dim intLignes As Integer, intColonnes As Integer
Dim intLig As Integer, intCol As Integer

' Open query
Set rst = CurrentDb.OpenRecordset("qryNCRs and CMPNN All assy", dbOpenSnapshot)


' read query
' and put data in array
avarValeurs = rst.GetRows()

' begin at 0
' read max
intColonnes = UBound(avarValeurs) + 1
intLignes = UBound(avarValeurs, 2) + 1

' show info
Debug.Print "Nombre de colonnes/champs : " & intColonnes
Debug.Print "Nombre de lignes/enregistrements : " & intLignes
Debug.Print "-----"

' show title of columns
For intCol = 0 To intColonnes - 1
Debug.Print rst.Fields(intCol).name & " | ";
Next
Debug.Print

' show array
For intLig = 0 To intLignes - 1
For intCol = 0 To intColonnes - 1
Debug.Print avarValeurs(intCol, intLig) & " | ";
Next
Debug.Print
Next

' close
rst.Close
Set rst = Nothing
End Sub

J'ai un leger probleeme car ce code ne marche pas au niveau de Set rst
Pourriez vous m'aider sur ce code ? ou si vous avez d'autre idees pour ameliorer la vitesse de chargement d'une form contenant une listbox..

Merci !!

A voir également:

1 réponse

l'erreur d'acess etant "Runtime error 3061. Too few parameters. Expected 1"
0