Inverser les dimension d'un Array (Tableau)

pacoako

XLDnaute Occasionnel
Bonjour!

J'ai un petit problème lorsque je fait une requête .GetRows sur un recordset d'une base de données Access, j'obtient toujours mon Tableau dans le mauvais sens.

Exemple :

Array(champ, #_de_l'entrée)

et je voudrais plutôt obtenir

Array(#_de_l'entrée, champ)

Quelqu'un sait comment inverser les dimension d'un tableau avec une fonction VBA ou bien sait comment je pourrait faire ma requête différemment pour obtenir le tableau dans le bon sens en partant...?? Voici mon code & merci de votre aide!

Code:
Option Explicit
Dim BDD As DAO.Database
Dim RS As Recordset
Dim BDDPath As String
Dim SQLQuery As String
Dim ListeResultats() As Variant

Private Sub CMDBRechercher_Click()

Dim a, m, n, z As Integer

BDDPath = ThisWorkbook.Path & "\BDDJuridique.mdb"
Set BDD = OpenDatabase(BDDPath, False, False, ";pwd=98000256")
SQLQuery = "SELECT * FROM Juridique WHERE " & CBCritere1 & "= " & "'" & TBCritere1 & "'"
Set RS = BDD.OpenRecordset(SQLQuery)

RS.MoveLast
m = RS.RecordCount
RS.MoveFirst
ListeResultats = RS.GetRows(m)

With ListBoxResultats
.List = ListeResultats
.ColumnWidths = "50;50;50;50;50;50;50,50;50;50;50;50;50;50,50;50;50;50;50;50;50"
End With

End With
 

pacoako

XLDnaute Occasionnel
Re : Inverser les dimension d'un Array (Tableau)

C'était si simple

Dim ListeResultats() As Variant
Dim ListeResultatsInverse(0 To 99, 0 To 27) As Variant 'Maximum de 100 entrées et 27 champs (Peut-être modifié)

'Inverse les dimension du tableau
For a = 0 To m - 1
For z = 0 To 27
ListeResultatsInverse(a, z) = ListeResultats(z, a)
Next z
Next a
 

PMO2

XLDnaute Accro
Re : Inverser les dimension d'un Array (Tableau)

Bonjour,

Juste une remarque :

Code:
Dim a, m, n, z As Integer

Cette déclaration, telle qu'elle est écrite, correspond à

Code:
Dim a As Variant, m As Variant, n As Variant, z As Integer

et non pas

Dim a As Integer, m As Integer, n As Integer, z As Integer

m As Integer ferait planter la ligne de code suivante
m = RS.RecordCount
car la méthode RecordCount renvoie un Long


RecordCount, propriété

Renvoie le nombre d'enregistrements auxquels vous avez eu accès dans un objet Recordset ou le nombre total d'enregistrements dans un objet Recordset de type Table ou dans un objet TableDef.

Valeurs renvoyées
La valeur renvoyée est de type Long.


Cordialement.

PMO
Patrick Morange
 
Dernière édition:

Statistiques des forums

Discussions
312 400
Messages
2 088 087
Membres
103 711
dernier inscrit
mindo