Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2011, 18h55   #1
Futur Membre du Club
 
Inscription : février 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 74
Points : 15
Points : 15
Par défaut Controle s'étendant sur plusieurs enregistrements d'un état

Bonjour.

J'ai créé un état à partir d'une requête comportant deux champs [Nom] et [Prénom].
J'ai effectué un regroupement par Nom et j'aimerai créé un rectangle qui pour chaque nom s'étend de façon continue le long des prénoms.
Si je crée ce rectangle en mode création, celui-ci se répète en plusieurs rectangles, un pour chaque enregistrement.
Y a-t-il un solution ?
Ou peut-être que les différents prénoms peuvent être lignés horizontalement plutôt que verticalement ?

Merci par avance.
Apranax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 20h21   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

Je ne comprends pas ce que tu demandes.

Peux-tu poster un dessin montrant le résultat que tu souhaites ?
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 20h55   #3
Futur Membre du Club
 
Inscription : février 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 74
Points : 15
Points : 15
Voilà une illustration.

Merci.
Fichiers attachés
Type de fichier : pdf Dessin.pdf (102,6 Ko, 6 affichages)
Apranax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 21h55   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Quand tu dis : "si c'est possible"

Exemple dans ta table tu as

TARTEMPION Jean
TARTEMPION Louis
TARTEMPION Bernard

DUPONT Pierre

Tu voudrais imprimer :

TARTEMPION
Jean Louis Bernard
DUPONT
Pierre


Correct ?
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 22h17   #5
Futur Membre du Club
 
Inscription : février 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 74
Points : 15
Points : 15
Oui, c'est ça. Imprimer, ou simplement visualiser dans l'état. 'i un peu chercher pour cette solution, mais je n'ai rien trouver de simple.
L'exemple que j'ai donné n'est pas exactement celui que je traite : j'aurais seulement deux prénoms par nom à mettre côte à côte.

Mais l'autre partie m'intéresse aussi.
Apranax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 11h17   #6
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

Une proposition "aux forceps" (quatre prénoms maximum):

La table :

Nom Prenom
TARTEMPION Jean
TARTEMPION Pierre
TARTEMPION André
TARTEMPION Bernadette
DURANT Claire
DURANT Isabelle
DURANT Catherine
DUPONT Denise
DUPONT Albert
DUPOND Rosine


Le résultat :




L'idée :

Une fonction qui aligne tous les prénoms associés à un même nom.

Code :
1
2
3
4
5
6
7
8
9
10
11
Public Function MiseEnligne(Niveau1 As String) As String
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Prenom FROM NomsPrenoms WHERE (((Nom)=""" _
                        & Niveau1 & """));")
Do Until rs.EOF
   MiseEnligne = MiseEnligne & rs("Prenom") & ", "
   rs.MoveNext
Loop
'Supprimer dernière virgule
MiseEnligne = Left(MiseEnligne, Len(MiseEnligne) - 2)
End Function

Les deux états ont comme source une requête qui utilise cette fonction MiseEnligne() :

Code sql :
SELECT [NomsPrenoms].[Nom], miseenligne([nom]) AS Expr1 FROM NomsPrenoms GROUP BY [NomsPrenoms].[Nom], miseenligne([nom]);

L'état "Tout sur une ligne" n'appelle pas de commentaire.

L'état "Avec un rectangle" est un peu plus subtil. Dans la section détail :
- 1 contrôle "rectangle" ;
- 4 contrôles indépendants "Prenom(i)" i de 0 à 3. Les trois derniers ont une hauteur = 0 et sont auto-extensibles. Les quatre sont collés les uns en dessous des autres ;
- dans l'événement "Au formatage" de la section détail, on aménage les champs "Prenom(i)"
- on ajuste la hauteur du rectangle en fonction du nombre de "Prenom(i)" non-null.

Voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim arrPrenoms() As String, i As Integer
'Réinitialiser
For i = 0 To 3
    Me("Prenom" & i) = Null
Next i
'Aménager les prénoms dans les cases respectives
arrPrenoms = Split(Me.zdtExpr1, ",")
For i = 0 To UBound(arrPrenoms)
    Me("Prenom" & i) = Trim(arrPrenoms(i))
Next i
'Ajuster le rectangle
Me.Rectangle.Height = i * Me.Prenom0.Height
End Sub
Ex. Access2000 en annexe.

A votre disposition si un complément d'info est nécessaire.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 14h55   #7
Futur Membre du Club
 
Inscription : février 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 74
Points : 15
Points : 15
Merci beaucoup pour le temps que vous m'avez consacré et votre efficacité.
Apranax est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h19.


 
 
 
 
Partenaires

Hébergement Web