OVH Cloud OVH Cloud

Zone de texte et VBA

4 réponses
Avatar
Syl
Bonjour!


J'ai un sous formulaire qui produit les enregistrements suivants...

TYPE COULEUR

hybrides Jaune
hybrides Rose
Rustiques Rouge
Rustiques Noir

A l'aide de code je veut récupérer les données de ces enregistrements et les
coller dans une zone de texte sous la forme suivante...

--------------------------------------------------------------------
- Hybrides: Jaune,
-
- Rustuques: Rouge,
-
-
-
--------------------------------------------------------------------

Quelqu'un sait t'il quel code utiliser pour réaliser ce genre de travail!


Merci!

4 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Tu peux mettre comme sourve de donnée à ta zone de texte indépendante :

=[TYPE] & ": " & [COULEUR]

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Syl" a écrit dans le message news:
ygzmc.37926$
Bonjour!


J'ai un sous formulaire qui produit les enregistrements suivants...

TYPE COULEUR

hybrides Jaune
hybrides Rose
Rustiques Rouge
Rustiques Noir

A l'aide de code je veut récupérer les données de ces enregistrements et
les

coller dans une zone de texte sous la forme suivante...

--------------------------------------------------------------------
- Hybrides: Jaune,
-
- Rustuques: Rouge,
-
-
-
--------------------------------------------------------------------

Quelqu'un sait t'il quel code utiliser pour réaliser ce genre de travail!


Merci!




Avatar
Syl
Bonjour!

J'ai essayé cette méthode mais ce que j'obtiens c'est la concaténation des
champs d'un enregistrement unique Ex: hybride: Jaune, je dois toutefois
aller plus loin en concaténant les champs de plusieurs enregistrements afin
d'obtenir le résultat suivant;
hybride: Jaune, Rose
rustique: Rouge, Noir
le tout dans une zone de texte!

Merci!


"Jessy Sempere [MVP]" a écrit dans le message de
news: c7fkp0$q8f$
Bonjour

Tu peux mettre comme sourve de donnée à ta zone de texte indépendante :

=[TYPE] & ": " & [COULEUR]

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Syl" a écrit dans le message news:
ygzmc.37926$
Bonjour!


J'ai un sous formulaire qui produit les enregistrements suivants...

TYPE COULEUR

hybrides Jaune
hybrides Rose
Rustiques Rouge
Rustiques Noir

A l'aide de code je veut récupérer les données de ces enregistrements et
les

coller dans une zone de texte sous la forme suivante...

--------------------------------------------------------------------
- Hybrides: Jaune,
-
- Rustuques: Rouge,
-
-
-
--------------------------------------------------------------------

Quelqu'un sait t'il quel code utiliser pour réaliser ce genre de
travail!




Merci!








Avatar
Eric
Bonjour Syl,

Je te fais passer un peu de code qui devrait te permettre de résoudre ton
problème.
J'au fait ca sur un formulaire affichant les types et couleurs de plantes
et je remplis une zone de texte(info) en pied de formulaire en cliquant
sur un bouton de commande.

Private Sub Commande6_Click()
Dim rs As DAO.Recordset, rsType As DAO.Recordset, strSQL As String
Dim Critere As String
Dim Tableau() As String, cpt As Integer
Set rs = Me.RecordsetClone
' on fait un select des types (unique)
strSQL = "select distinct type from table9;"
Set rsType = CurrentDb.OpenRecordset(strSQL)
rsType.MoveLast
rsType.MoveFirst
' Pour connaitre la dimension du tableau
ReDim Tableau(rsType.RecordCount)
While Not rsType.EOF
Critere = "[Type]='" & rsType!Type & "'"
rs.FindFirst Critere
While Not rs.NoMatch
' on verifie que la couleur n'est pas déja enregistrée
If InStr(type1, rs!Couleur) = 0 Then
Tableau(cpt) = Tableau(cpt) & rs!Couleur & " "
End If
rs.FindNext Critere
Wend
cpt = cpt + 1
rsType.MoveNext
Wend
rsType.MoveFirst
While Not rsType.EOF
info = info & rsType!Type & " : " & Tableau(i) & vbCrLf
i = i + 1
rsType.MoveNext
Wend
End Sub

En sortie j'obtiens dans la zone de texte Info :
hybrides : jaune rose bleu marron
rustiques : rouge noir vert

Espérant que ca t'aidera ..

A+
Eric

"Syl" écrivait
news:9uonc.79$:

Bonjour!

J'ai essayé cette méthode mais ce que j'obtiens c'est la concaténation
des champs d'un enregistrement unique Ex: hybride: Jaune, je dois
toutefois aller plus loin en concaténant les champs de plusieurs
enregistrements afin d'obtenir le résultat suivant;
hybride: Jaune, Rose
rustique: Rouge, Noir
le tout dans une zone de texte!

Merci!















Avatar
Eric
re,

en faisant le copier-coller, j'ai oublié la déclaration de i donc
rajoutes derrière Dim Critere as string, i as integer comme ci-dessous:

Dim Critère as String, i as Integer

A+
Eric

Eric écrivait
news::

Bonjour Syl,

Je te fais passer un peu de code qui devrait te permettre de résoudre
ton problème.
J'au fait ca sur un formulaire affichant les types et couleurs de
plantes et je remplis une zone de texte(info) en pied de formulaire en
cliquant sur un bouton de commande.

Private Sub Commande6_Click()
Dim rs As DAO.Recordset, rsType As DAO.Recordset, strSQL As String
Dim Critere As String
Dim Tableau() As String, cpt As Integer
Set rs = Me.RecordsetClone
' on fait un select des types (unique)
strSQL = "select distinct type from table9;"
Set rsType = CurrentDb.OpenRecordset(strSQL)
rsType.MoveLast
rsType.MoveFirst
' Pour connaitre la dimension du tableau
ReDim Tableau(rsType.RecordCount)
While Not rsType.EOF
Critere = "[Type]='" & rsType!Type & "'"
rs.FindFirst Critere
While Not rs.NoMatch
' on verifie que la couleur n'est pas déja enregistrée
If InStr(type1, rs!Couleur) = 0 Then
Tableau(cpt) = Tableau(cpt) & rs!Couleur & " "
End If
rs.FindNext Critere
Wend
cpt = cpt + 1
rsType.MoveNext
Wend
rsType.MoveFirst
While Not rsType.EOF
info = info & rsType!Type & " : " & Tableau(i) & vbCrLf
i = i + 1
rsType.MoveNext
Wend
End Sub

En sortie j'obtiens dans la zone de texte Info :
hybrides : jaune rose bleu marron
rustiques : rouge noir vert

Espérant que ca t'aidera ..

A+
Eric

"Syl" écrivait
news:9uonc.79$:

Bonjour!

J'ai essayé cette méthode mais ce que j'obtiens c'est la
concaténation des champs d'un enregistrement unique Ex: hybride:
Jaune, je dois toutefois aller plus loin en concaténant les champs de
plusieurs enregistrements afin d'obtenir le résultat suivant;
hybride: Jaune, Rose
rustique: Rouge, Noir
le tout dans une zone de texte!

Merci!