j'ouvre une base de données ACCESS, et je récupère tout ce petite
monde dans un recordset. Par contre, je voudrais afficher une partie
seulement de ce recordet à l'écran, sous la forme d'un tableau, un peu
comme pour un datagrid. Seulement voila, dans les exemples que j'ai
trouvé le datagrid est toujours liés à une base de donnée. Et ça je ne
le veux pas na !!
je souhaiten seulement affichier une partie des lignes et des colonnes
du recorset. Avez vous une idée de la meilleurt manuière de faire?
'Remplissage du tableau Set adoRecordSet = New ADODB.Recordset i = 1 adoRecordSet.Open "SELECT * FROM NomTable ORDER BY CodeAccessoire", adoConnection, adOpenStatic, adLockOptimistic
Do While Not adoRecordSet.EOF .Rows = i + 1 .Row = i .Col = 0 .CellBackColor = BEIGE .Col = 1 .Text = adoRecordSet!CodeAccessoire .Col = 2 .Text = IIf(IsNull(adoRecordSet!Description), "", adoRecordSet!Description) adoRecordSet.MoveNext i = i + 1 DoEvents Loop adoRecordSet.Close Set adoRecordSet = Nothing End With
Christophe
"thierry" a écrit dans le message de news:
j'ouvre une base de données ACCESS, et je récupère tout ce petite monde dans un recordset. Par contre, je voudrais afficher une partie seulement de ce recordet à l'écran, sous la forme d'un tableau, un peu comme pour un datagrid. Seulement voila, dans les exemples que j'ai trouvé le datagrid est toujours liés à une base de donnée. Et ça je ne le veux pas na !!
je souhaiten seulement affichier une partie des lignes et des colonnes du recorset. Avez vous une idée de la meilleurt manuière de faire?
Merci par avance.
Thierry
Vous pouvez utiliser un MSFlexGrid que vous formatez comme vous voulez, puis
vous le remplissez "à la main".
Voici un exemple de code :
'Remplissage du tableau
Set adoRecordSet = New ADODB.Recordset
i = 1
adoRecordSet.Open "SELECT * FROM NomTable ORDER BY CodeAccessoire",
adoConnection, adOpenStatic, adLockOptimistic
Do While Not adoRecordSet.EOF
.Rows = i + 1
.Row = i
.Col = 0
.CellBackColor = BEIGE
.Col = 1
.Text = adoRecordSet!CodeAccessoire
.Col = 2
.Text = IIf(IsNull(adoRecordSet!Description), "",
adoRecordSet!Description)
adoRecordSet.MoveNext
i = i + 1
DoEvents
Loop
adoRecordSet.Close
Set adoRecordSet = Nothing
End With
Christophe
"thierry" <tsavry@mutualite-marne.fr> a écrit dans le message de
news:vpubtvg2ppllicq7qc61em5ktafdentcb2@4ax.com...
j'ouvre une base de données ACCESS, et je récupère tout ce petite
monde dans un recordset. Par contre, je voudrais afficher une partie
seulement de ce recordet à l'écran, sous la forme d'un tableau, un peu
comme pour un datagrid. Seulement voila, dans les exemples que j'ai
trouvé le datagrid est toujours liés à une base de donnée. Et ça je ne
le veux pas na !!
je souhaiten seulement affichier une partie des lignes et des colonnes
du recorset. Avez vous une idée de la meilleurt manuière de faire?
'Remplissage du tableau Set adoRecordSet = New ADODB.Recordset i = 1 adoRecordSet.Open "SELECT * FROM NomTable ORDER BY CodeAccessoire", adoConnection, adOpenStatic, adLockOptimistic
Do While Not adoRecordSet.EOF .Rows = i + 1 .Row = i .Col = 0 .CellBackColor = BEIGE .Col = 1 .Text = adoRecordSet!CodeAccessoire .Col = 2 .Text = IIf(IsNull(adoRecordSet!Description), "", adoRecordSet!Description) adoRecordSet.MoveNext i = i + 1 DoEvents Loop adoRecordSet.Close Set adoRecordSet = Nothing End With
Christophe
"thierry" a écrit dans le message de news:
j'ouvre une base de données ACCESS, et je récupère tout ce petite monde dans un recordset. Par contre, je voudrais afficher une partie seulement de ce recordet à l'écran, sous la forme d'un tableau, un peu comme pour un datagrid. Seulement voila, dans les exemples que j'ai trouvé le datagrid est toujours liés à une base de donnée. Et ça je ne le veux pas na !!
je souhaiten seulement affichier une partie des lignes et des colonnes du recorset. Avez vous une idée de la meilleurt manuière de faire?