OVH Cloud OVH Cloud

Compter les enregistrements

7 réponses
Avatar
Jacques
Bonsoir,

J'ai mon =E9tat qui me donne les informations suivantes :

1999 Nb 3
1 MLLE Nadine
2 M Jacques
3 M Ren=E9e
2000 Nb 2
4 MLLE Marine
5 M Arnaud

1)Je voudrais sur les lignes 1999 Nb 3 et 2000 Nb 2 avoir 1 champ qui
me donne le Nombre de MLLE et le Nombre de M (Le MLLE et M doit =EAtre
convertie en Fille, et Gar=E7on par ma fonction Genre).

2)Comment obtenir un saut de ligne apr=E8s MLLE.

Ce que je veux obtenir resemble =E0 =E7a.

1999 Nb 3 Nb Fille 1 Nb Gar=E7on 2
1 MLLE Nadine

2 M Jacques
3 M Ren=E9e

2000 Nb 2 Nb Fille 1 Nb Gar=E7on 1
4 MLLE Marine

5 M Arnaud


PS. Le champ qui contient MLLE ET M se nomme [Titre]

Merci de votre aide.

Salutations.

7 réponses

Avatar
Raymond [mvp]
Bonjour.

Question 1
====== dans ta requête tu crées deux champs nbF et NBG et tu la modifies comme
suit:
SELECT table1.*, IIf([Titre]="MLLE",1,0) AS nbF, IIf([Titre]="M",1,0) AS nbG
FROM table1;
dans ton état tu places les nbF et nbG dans le détail et en invisible pour
ne pas les afficher.
tu crées un champ texte pour faire le total des filles : =Somme([nbF])
tu crées un champ texte pour faire le total des garçons: =Somme([nbG])
ces deux champs dans le pied ou l'entête de groupe

Question 2
====== dans ta requête tu crées un champ calculé que tu appelles Titre1 et tu
l'indiques comme ceci:
SELECT table1.*, IIf([Titre]="MLLE",1,0) AS nbF, IIf([Titre]="M",1,0) AS nbG
, [Titre] & IIf([Titre]="MLLE",Chr(13) & Chr(10) & "." & Chr(13) & Chr(10) &
"." & Chr(13) & Chr(10) & "." ,"") AS Titre1 FROM table1;
Dans ton état tu utiliseras Titre1 à la place de titre dans la source du
contrôle
bien penser de mettre à oui les propriétés autoextension et autoréduction
sur le contrôle
tu modieras les Chr(13) & Chr(10) & "." de la requête selon tes besoins.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais osé le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"Jacques" a écrit dans le message de news:

Bonsoir,

J'ai mon état qui me donne les informations suivantes :

1999 Nb 3
1 MLLE Nadine
2 M Jacques
3 M Renée
2000 Nb 2
4 MLLE Marine
5 M Arnaud

1)Je voudrais sur les lignes 1999 Nb 3 et 2000 Nb 2 avoir 1 champ qui
me donne le Nombre de MLLE et le Nombre de M (Le MLLE et M doit être
convertie en Fille, et Garçon par ma fonction Genre).

2)Comment obtenir un saut de ligne après MLLE.

Ce que je veux obtenir resemble à ça.

1999 Nb 3 Nb Fille 1 Nb Garçon 2
1 MLLE Nadine

2 M Jacques
3 M Renée

2000 Nb 2 Nb Fille 1 Nb Garçon 1
4 MLLE Marine

5 M Arnaud


PS. Le champ qui contient MLLE ET M se nomme [Titre]

Merci de votre aide.

Salutations.
Avatar
Jacques
Bonsoir Raymond.

Merci pour ta réponse, la question 1 est Ok, par contre pour la
question 2 j'ai un problème.

Lorsque j'ai une seule ligne avec "MLLE" j'ai bien une séparation avec
"M",
mais lorsque j'ai plusieurs "MLLE" j'ai une séparation avec chaque
"MLLE"

Voici une partie du sql de la rqt.

"[tbl Adhérents].ClassementAct, IIf([tbl Adhérents].Titre="MLLE",1,0)
AS [Nb de Fille], IIf([tbl Adhérents].Titre="M",1,0) AS [Nb de
Garçon], [tbl Adhérents].titre & IIf([tbl
Adhérents].titre="MLLE",Chr(13) & Chr(10) & " ","") AS Titre1
FROM [tbl Adhérents] INNER JOIN [tbl Cours] ON [tbl
Adhérents].RéfAdhérent=[tbl Cours].RéfAdhérent
WHERE ((([tbl Cours].CodeCours)="MT"))
ORDER BY [tbl Adhérents].NOM;

Par contre je signale que sur mon état j'ai une numérotation des
lignes et une couleur alternée des lignes.

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
On Error Resume Next
If (Me.txtNumero Mod 2) = 0 Then
Me.Section(acDetail).BackColor = 16777215
Else
Me.Section(acDetail).BackColor = 15522517
End If
End Sub

Salutations.


Bonjour.

Question 1
=======
dans ta requête tu crées deux champs nbF et NBG et tu la modifies com me
suit:
SELECT table1.*, IIf([Titre]="MLLE",1,0) AS nbF, IIf([Titre]="M",1,0) AS nbG
FROM table1;
dans ton état tu places les nbF et nbG dans le détail et en invisible pour
ne pas les afficher.
tu crées un champ texte pour faire le total des filles : =Somme([nbF])
tu crées un champ texte pour faire le total des garçons: =Somme([nb G])
ces deux champs dans le pied ou l'entête de groupe

Question 2
=======
dans ta requête tu crées un champ calculé que tu appelles Titre1 et tu
l'indiques comme ceci:
SELECT table1.*, IIf([Titre]="MLLE",1,0) AS nbF, IIf([Titre]="M",1,0) AS nbG
, [Titre] & IIf([Titre]="MLLE",Chr(13) & Chr(10) & "." & Chr(13) & Chr( 10) &
"." & Chr(13) & Chr(10) & "." ,"") AS Titre1 FROM table1;
Dans ton état tu utiliseras Titre1 à la place de titre dans la source du
contrôle
bien penser de mettre à oui les propriétés autoextension et autor éduction
sur le contrôle
tu modieras les Chr(13) & Chr(10) & "." de la requête selon tes besoin s.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais os é le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"Jacques" a écrit dans le message de news:

Bonsoir,

J'ai mon état qui me donne les informations suivantes :

1999 Nb 3
1 MLLE Nadine
2 M Jacques
3 M Renée
2000 Nb 2
4 MLLE Marine
5 M Arnaud

1)Je voudrais sur les lignes 1999 Nb 3 et 2000 Nb 2 avoir 1 champ qui
me donne le Nombre de MLLE et le Nombre de M (Le MLLE et M doit être
convertie en Fille, et Garçon par ma fonction Genre).

2)Comment obtenir un saut de ligne après MLLE.

Ce que je veux obtenir resemble à ça.

1999 Nb 3 Nb Fille 1 Nb Garçon 2
1 MLLE Nadine

2 M Jacques
3 M Renée

2000 Nb 2 Nb Fille 1 Nb Garçon 1
4 MLLE Marine

5 M Arnaud


PS. Le champ qui contient MLLE ET M se nomme [Titre]

Merci de votre aide.

Salutations.


Avatar
Raymond [mvp]
Bonsoir.

dans ce cas c'est plus épineux. il va falloir tester la valeur de
l'enregistrement suivant, ce qui nécessite la mise en place d'un test dans
la requête elle-même mais étant donné que le tri et le groupage est réalisé
dans l'état on n'a aucune chance de tomber sur la même présentation des
résultats ce qui va être de très mauvais goût.
ton exemple ne le montre pas mais est-ce que toutes les MLLE sont regroupées
dans le groupe année actuel ? si oui, il suffirait peut-être de placer un
groupe supplémentaire sur le champ Titre pour placer un espace blanc entre
les deux groupes. dans le cas contraire un groupe sur titre allongera l'état
mais pourra peut-être résoudre le problème. fais un essai tiens nous au
courant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais osé le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"Jacques" a écrit dans le message de news:

Bonsoir Raymond.

Merci pour ta réponse, la question 1 est Ok, par contre pour la
question 2 j'ai un problème.

Lorsque j'ai une seule ligne avec "MLLE" j'ai bien une séparation avec
"M",
mais lorsque j'ai plusieurs "MLLE" j'ai une séparation avec chaque
"MLLE"

Voici une partie du sql de la rqt.

"[tbl Adhérents].ClassementAct, IIf([tbl Adhérents].Titre="MLLE",1,0)
AS [Nb de Fille], IIf([tbl Adhérents].Titre="M",1,0) AS [Nb de
Garçon], [tbl Adhérents].titre & IIf([tbl
Adhérents].titre="MLLE",Chr(13) & Chr(10) & " ","") AS Titre1
FROM [tbl Adhérents] INNER JOIN [tbl Cours] ON [tbl
Adhérents].RéfAdhérent=[tbl Cours].RéfAdhérent
WHERE ((([tbl Cours].CodeCours)="MT"))
ORDER BY [tbl Adhérents].NOM;

Par contre je signale que sur mon état j'ai une numérotation des
lignes et une couleur alternée des lignes.

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
On Error Resume Next
If (Me.txtNumero Mod 2) = 0 Then
Me.Section(acDetail).BackColor = 16777215
Else
Me.Section(acDetail).BackColor = 15522517
End If
End Sub

Salutations.
Avatar
HosseinAdibi
Bonsoir Raymond.

Merci pout ta réponse, en effet un groupe supplémentaire sur le champ
titre à suffit pour régler le problème.

Par contre j'ai encore besoin d'aide pour résoudre un petit
problème de présentation.

Pour l'affichage de mes résultats lorsqu'il y a 1 dans ma zone de
texte avoir le libellé de l'étiquète au singulier (Garçon), et si
dans la zone de texte la valeur et 2 avoir le libellé de
l'étiquète au pluriel (Garçons).

Salutations.



Bonsoir.

dans ce cas c'est plus épineux. il va falloir tester la valeur de
l'enregistrement suivant, ce qui nécessite la mise en place d'un test d ans
la requête elle-même mais étant donné que le tri et le groupage e st réalisé
dans l'état on n'a aucune chance de tomber sur la même présentation des
résultats ce qui va être de très mauvais goût.
ton exemple ne le montre pas mais est-ce que toutes les MLLE sont regroup ées
dans le groupe année actuel ? si oui, il suffirait peut-être de place r un
groupe supplémentaire sur le champ Titre pour placer un espace blanc en tre
les deux groupes. dans le cas contraire un groupe sur titre allongera l' état
mais pourra peut-être résoudre le problème. fais un essai tiens nou s au
courant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais os é le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"Jacques" a écrit dans le message de news:

Bonsoir Raymond.

Merci pour ta réponse, la question 1 est Ok, par contre pour la
question 2 j'ai un problème.

Lorsque j'ai une seule ligne avec "MLLE" j'ai bien une séparation avec
"M",
mais lorsque j'ai plusieurs "MLLE" j'ai une séparation avec chaque
"MLLE"

Voici une partie du sql de la rqt.

"[tbl Adhérents].ClassementAct, IIf([tbl Adhérents].Titre="MLLE",1, 0)
AS [Nb de Fille], IIf([tbl Adhérents].Titre="M",1,0) AS [Nb de
Garçon], [tbl Adhérents].titre & IIf([tbl
Adhérents].titre="MLLE",Chr(13) & Chr(10) & " ","") AS Titre1
FROM [tbl Adhérents] INNER JOIN [tbl Cours] ON [tbl
Adhérents].RéfAdhérent=[tbl Cours].RéfAdhérent
WHERE ((([tbl Cours].CodeCours)="MT"))
ORDER BY [tbl Adhérents].NOM;

Par contre je signale que sur mon état j'ai une numérotation des
lignes et une couleur alternée des lignes.

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
On Error Resume Next
If (Me.txtNumero Mod 2) = 0 Then
Me.Section(acDetail).BackColor = 16777215
Else
Me.Section(acDetail).BackColor = 15522517
End If
End Sub

Salutations.


Avatar
Jacques
Bonsoir Raymond.

Merci pout ta réponse, en effet un groupe supplémentaire sur le champ
titre à suffit pour régler le problème.

Par contre j'ai encore besoin d'aide pour résoudre un petit
problème de présentation.

Pour l'affichage de mes résultats lorsqu'il y a 1 dans ma zone de
texte avoir le libellé de l'étiquète au singulier (Garçon), et si
dans la zone de texte la valeur et 2 avoir le libellé de
l'étiquète au pluriel (Garçons).

Salutations.



Bonsoir.

dans ce cas c'est plus épineux. il va falloir tester la valeur de
l'enregistrement suivant, ce qui nécessite la mise en place d'un test d ans
la requête elle-même mais étant donné que le tri et le groupage e st réalisé
dans l'état on n'a aucune chance de tomber sur la même présentation des
résultats ce qui va être de très mauvais goût.
ton exemple ne le montre pas mais est-ce que toutes les MLLE sont regroup ées
dans le groupe année actuel ? si oui, il suffirait peut-être de place r un
groupe supplémentaire sur le champ Titre pour placer un espace blanc en tre
les deux groupes. dans le cas contraire un groupe sur titre allongera l' état
mais pourra peut-être résoudre le problème. fais un essai tiens nou s au
courant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais os é le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"Jacques" a écrit dans le message de news:

Bonsoir Raymond.

Merci pour ta réponse, la question 1 est Ok, par contre pour la
question 2 j'ai un problème.

Lorsque j'ai une seule ligne avec "MLLE" j'ai bien une séparation avec
"M",
mais lorsque j'ai plusieurs "MLLE" j'ai une séparation avec chaque
"MLLE"

Voici une partie du sql de la rqt.

"[tbl Adhérents].ClassementAct, IIf([tbl Adhérents].Titre="MLLE",1, 0)
AS [Nb de Fille], IIf([tbl Adhérents].Titre="M",1,0) AS [Nb de
Garçon], [tbl Adhérents].titre & IIf([tbl
Adhérents].titre="MLLE",Chr(13) & Chr(10) & " ","") AS Titre1
FROM [tbl Adhérents] INNER JOIN [tbl Cours] ON [tbl
Adhérents].RéfAdhérent=[tbl Cours].RéfAdhérent
WHERE ((([tbl Cours].CodeCours)="MT"))
ORDER BY [tbl Adhérents].NOM;

Par contre je signale que sur mon état j'ai une numérotation des
lignes et une couleur alternée des lignes.

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
On Error Resume Next
If (Me.txtNumero Mod 2) = 0 Then
Me.Section(acDetail).BackColor = 16777215
Else
Me.Section(acDetail).BackColor = 15522517
End If
End Sub

Salutations.


Avatar
Tisane
Bonjour Jacques,

[...]
Pour l'affichage de mes résultats lorsqu'il y a 1 dans ma zone de
texte avoir le libellé de l'étiquète au singulier (Garçon), et si
dans la zone de texte la valeur et 2 avoir le libellé de
l'étiquète au pluriel (Garçons).


Tu peux remplacer l'étiquette par une zone de texte (clic droit sur
l'étiquette | Remplacer par | Zone de texte), et dans la source :
=VraiFaux([Ta_Zone_Nombre]>1;"Garçons";"Garçon")

--
Tisane



Bonsoir.

dans ce cas c'est plus épineux. il va falloir tester la valeur de
l'enregistrement suivant, ce qui nécessite la mise en place d'un
test dans la requête elle-même mais étant donné que le tri et le
groupage est réalisé dans l'état on n'a aucune chance de tomber sur
la même présentation des résultats ce qui va être de très mauvais
goût.
ton exemple ne le montre pas mais est-ce que toutes les MLLE sont
regroupées dans le groupe année actuel ? si oui, il suffirait
peut-être de placer un groupe supplémentaire sur le champ Titre pour
placer un espace blanc entre les deux groupes. dans le cas contraire
un groupe sur titre allongera l'état mais pourra peut-être résoudre
le problème. fais un essai tiens nous au courant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais
osé le parler:
http://www.microsoft.com/france/communautes/jargonaute/

[...]




Avatar
Jacques
Bonsoir Tisane,

Merci beaucoup pour ta réponse, cela correspond exactement à ce que
je recherchais

Salutations


Bonjour Jacques,

[...]
Pour l'affichage de mes résultats lorsqu'il y a 1 dans ma zone de
texte avoir le libellé de l'étiquète au singulier (Garçon), et si
dans la zone de texte la valeur et 2 avoir le libellé de
l'étiquète au pluriel (Garçons).


Tu peux remplacer l'étiquette par une zone de texte (clic droit sur
l'étiquette | Remplacer par | Zone de texte), et dans la source :
=VraiFaux([Ta_Zone_Nombre]>1;"Garçons";"Garçon")

--
Tisane



Bonsoir.

dans ce cas c'est plus épineux. il va falloir tester la valeur de
l'enregistrement suivant, ce qui nécessite la mise en place d'un
test dans la requête elle-même mais étant donné que le tri et le
groupage est réalisé dans l'état on n'a aucune chance de tomber sur
la même présentation des résultats ce qui va être de très ma uvais
goût.
ton exemple ne le montre pas mais est-ce que toutes les MLLE sont
regroupées dans le groupe année actuel ? si oui, il suffirait
peut-être de placer un groupe supplémentaire sur le champ Titre po ur
placer un espace blanc entre les deux groupes. dans le cas contraire
un groupe sur titre allongera l'état mais pourra peut-être résou dre
le problème. fais un essai tiens nous au courant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais
osé le parler:
http://www.microsoft.com/france/communautes/jargonaute/

[...]