Parcourir les éléments filtrés d'un formulaire par VBA.
2 réponses
Christophe CAMPAIN
Bonjour à tous,
Je souhaite remplir une variable tableau avec le contenu d'un champ de mon
formulaire sur lequel est appliqué un filtre. Un truc du genre :
For I = 0 to " Nombre d'enregistrements filtrés de mon formulaire"
Tableau (I) = "Valeur du champ de l'enregistrement"
Next I
Quelqu'un a une idée ? (L'aide en ligne d'Access bug sur les mots clé
"Table, recordcount, etc.." elle me propose de réparer le Pb à l'aide du Cd
d'installation, ce que j'ai fait plusieur fois, mais ça ne change rien...)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
Christophe CAMPAIN a écrit le 06/05/2004 :
Bonjour à tous,
Je souhaite remplir une variable tableau avec le contenu d'un champ de mon formulaire sur lequel est appliqué un filtre. Un truc du genre :
For I = 0 to " Nombre d'enregistrements filtrés de mon formulaire" Tableau (I) = "Valeur du champ de l'enregistrement" Next I
Bonjour Kristoff
Tu pourrais mettre, sur le click du filtre (bouton par exemple) un truc du genre :
Private Sub Commande10_Click() Me.Filter = ' définition de ton filtre Me.FilterOn = True Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.MoveLast ' pour connaitre le nb d'éléments rs.MoveFirst ' on se remet sur le 1er ReDim TonTableau(rs.RecordCount) ' à typer suivant la nature (as String ou as Currency, ...) Dim cpt As Long While Not rs.EOF TonTableau(cpt) = rs![TonChamp] Debug.Print TonTableau(cpt) ' pour s'assurer que le tableau est rempli des éléments que tu veux et à supprimer après rs.MoveNext cpt = cpt + 1 Wend End Sub
A+ Eric
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Christophe CAMPAIN a écrit le 06/05/2004 :
Bonjour à tous,
Je souhaite remplir une variable tableau avec le contenu d'un champ de mon
formulaire sur lequel est appliqué un filtre. Un truc du genre :
For I = 0 to " Nombre d'enregistrements filtrés de mon formulaire"
Tableau (I) = "Valeur du champ de l'enregistrement"
Next I
Bonjour Kristoff
Tu pourrais mettre, sur le click du filtre (bouton par exemple) un truc
du genre :
Private Sub Commande10_Click()
Me.Filter = ' définition de ton filtre
Me.FilterOn = True
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.MoveLast ' pour connaitre le nb d'éléments
rs.MoveFirst ' on se remet sur le 1er
ReDim TonTableau(rs.RecordCount) ' à typer suivant la nature (as String
ou as Currency, ...)
Dim cpt As Long
While Not rs.EOF
TonTableau(cpt) = rs![TonChamp]
Debug.Print TonTableau(cpt) ' pour s'assurer que le tableau est
rempli
des éléments que tu veux et à supprimer après
rs.MoveNext
cpt = cpt + 1
Wend
End Sub
A+
Eric
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Je souhaite remplir une variable tableau avec le contenu d'un champ de mon formulaire sur lequel est appliqué un filtre. Un truc du genre :
For I = 0 to " Nombre d'enregistrements filtrés de mon formulaire" Tableau (I) = "Valeur du champ de l'enregistrement" Next I
Bonjour Kristoff
Tu pourrais mettre, sur le click du filtre (bouton par exemple) un truc du genre :
Private Sub Commande10_Click() Me.Filter = ' définition de ton filtre Me.FilterOn = True Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.MoveLast ' pour connaitre le nb d'éléments rs.MoveFirst ' on se remet sur le 1er ReDim TonTableau(rs.RecordCount) ' à typer suivant la nature (as String ou as Currency, ...) Dim cpt As Long While Not rs.EOF TonTableau(cpt) = rs![TonChamp] Debug.Print TonTableau(cpt) ' pour s'assurer que le tableau est rempli des éléments que tu veux et à supprimer après rs.MoveNext cpt = cpt + 1 Wend End Sub
A+ Eric
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Christophe CAMPAIN
Salut Eric, Merci pour ton aide, ça marche nickel !
@+ Kristof
"Eric" a écrit dans le message de news:
Christophe CAMPAIN a écrit le 06/05/2004 :
Bonjour à tous,
Je souhaite remplir une variable tableau avec le contenu d'un champ de mon
formulaire sur lequel est appliqué un filtre. Un truc du genre :
For I = 0 to " Nombre d'enregistrements filtrés de mon formulaire" Tableau (I) = "Valeur du champ de l'enregistrement" Next I
Bonjour Kristoff
Tu pourrais mettre, sur le click du filtre (bouton par exemple) un truc du genre :
Private Sub Commande10_Click() Me.Filter = ' définition de ton filtre Me.FilterOn = True Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.MoveLast ' pour connaitre le nb d'éléments rs.MoveFirst ' on se remet sur le 1er ReDim TonTableau(rs.RecordCount) ' à typer suivant la nature (as String ou as Currency, ...) Dim cpt As Long While Not rs.EOF TonTableau(cpt) = rs![TonChamp] Debug.Print TonTableau(cpt) ' pour s'assurer que le tableau est rempli des éléments que tu veux et à supprimer après rs.MoveNext cpt = cpt + 1 Wend End Sub
A+ Eric
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Salut Eric,
Merci pour ton aide, ça marche nickel !
@+
Kristof
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:mesnews.32d47d45.2822e0e5.9.11127@hotmail.com...
Christophe CAMPAIN a écrit le 06/05/2004 :
Bonjour à tous,
Je souhaite remplir une variable tableau avec le contenu d'un champ de
mon
formulaire sur lequel est appliqué un filtre. Un truc du genre :
For I = 0 to " Nombre d'enregistrements filtrés de mon formulaire"
Tableau (I) = "Valeur du champ de l'enregistrement"
Next I
Bonjour Kristoff
Tu pourrais mettre, sur le click du filtre (bouton par exemple) un truc
du genre :
Private Sub Commande10_Click()
Me.Filter = ' définition de ton filtre
Me.FilterOn = True
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.MoveLast ' pour connaitre le nb d'éléments
rs.MoveFirst ' on se remet sur le 1er
ReDim TonTableau(rs.RecordCount) ' à typer suivant la nature (as String
ou as Currency, ...)
Dim cpt As Long
While Not rs.EOF
TonTableau(cpt) = rs![TonChamp]
Debug.Print TonTableau(cpt) ' pour s'assurer que le tableau est
rempli
des éléments que tu veux et à supprimer après
rs.MoveNext
cpt = cpt + 1
Wend
End Sub
A+
Eric
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Salut Eric, Merci pour ton aide, ça marche nickel !
@+ Kristof
"Eric" a écrit dans le message de news:
Christophe CAMPAIN a écrit le 06/05/2004 :
Bonjour à tous,
Je souhaite remplir une variable tableau avec le contenu d'un champ de mon
formulaire sur lequel est appliqué un filtre. Un truc du genre :
For I = 0 to " Nombre d'enregistrements filtrés de mon formulaire" Tableau (I) = "Valeur du champ de l'enregistrement" Next I
Bonjour Kristoff
Tu pourrais mettre, sur le click du filtre (bouton par exemple) un truc du genre :
Private Sub Commande10_Click() Me.Filter = ' définition de ton filtre Me.FilterOn = True Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.MoveLast ' pour connaitre le nb d'éléments rs.MoveFirst ' on se remet sur le 1er ReDim TonTableau(rs.RecordCount) ' à typer suivant la nature (as String ou as Currency, ...) Dim cpt As Long While Not rs.EOF TonTableau(cpt) = rs![TonChamp] Debug.Print TonTableau(cpt) ' pour s'assurer que le tableau est rempli des éléments que tu veux et à supprimer après rs.MoveNext cpt = cpt + 1 Wend End Sub
A+ Eric
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com