bcmfr
Messages postés137Date d'inscriptionjeudi 18 juillet 2002StatutMembreDernière intervention20 novembre 2016
-
7 mars 2006 à 20:26
bcmfr
Messages postés137Date d'inscriptionjeudi 18 juillet 2002StatutMembreDernière intervention20 novembre 2016
-
8 mars 2006 à 10:01
Bonjour à tous
je débute en visual basic et je cherche à récupérer les données d'une base access dans une msflexgrid.
cs_jperre
Messages postés268Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention19 janvier 20172 8 mars 2006 à 09:26
Pour remplir une MSFlexgrid avec les données d'un Recordset, il faut :
- Créer une fonction pour positionner le contenu de chaque champ dans la cellule correspondante. Cette fonction, fournie par Microsoft dans l'aide de MSDN s'écrit de la manière suivante :
Public Function Fgi(r As Long, c As Long, msFG As MSFlexGrid) As Long
Fgi = c + msFG.Cols * r
End Function
Ensuite pour entrer les données dans les cellules :
Dim r As Long, lNbEnr, bNbFields As Byte, c As Byte
rs.MoveLast
lNbEnr=rs.RecordCount
bNbFields=rs.Fields.Count
rs.MoveFirst
With MSFlexgrid1
.Rows = lNbEnr + 1
.Cols = bNbFd
.FixedRows = 1
.FixedCols = 0
'Creation des en têtes de colonnes
For c=0 To bNbFields-1
.TextArray(Fgi(0, c, MSFlexgrid1))=rs.Fields(c).Name
Next c
'Ecriture des données
For r=1 To lNbEnr
For c=0 To bNbFields-1
If Not IsNull(rs.Fields(c)) Then .TextArray(Fgi(r, c, MSFlexgrid1))=rs.Fields(c)
Next c
rs.MoveNext
Next r
...
Ce code fonctionne correctement.
Bon courage!...