Dans ma gestion de planning, j'ai 18 champs appelés jour1, jour2, jour3,
etc... contenant des codes comme PT,NT,NS,NT,PA, etc..
J'aurais souhaité, en passant par une requête (cad sans vba), pouvoir
compter le nombre de PT
Idée : créer un champ calculé et calculer le nombre d'occurence de PT dans
une chaîne
Ex: Cum:[jour1]&[jour2]&[jour3] donne PTNSPT
Quelle fonction peut répondre 2 ?
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
Bonjour Michèle,
Je ne crois pas qu'il y ait un équivalent sous Access de NB.SI. Mon idée serait de créer une fonction en VBA et de l'appeler dans la requête.
Exemple de fonction (à copier dans un module global):
Function NbOccurences(UneChaine, CarSeek As String) As Integer If IsNull(UneChaine) Then Exit Function Dim cpt As Integer, Longueur As Integer, pos As Integer pos = InStr(UneChaine, CarSeek) If pos > 0 Then Longueur = Len(CarSeek) cpt = cpt + 1 UneChaine = Mid(UneChaine, pos + Longueur) NbOccurences = cpt + NbOccurences(UneChaine, CarSeek) End If End Function
et dans la requête: le champ Cum et un champ calcule: Nb:NbOccurences([Cum];"PT")
Bonjour à tous,
Dans ma gestion de planning, j'ai 18 champs appelés jour1, jour2, jour3, etc... contenant des codes comme PT,NT,NS,NT,PA, etc..
J'aurais souhaité, en passant par une requête (cad sans vba), pouvoir compter le nombre de PT
Idée : créer un champ calculé et calculer le nombre d'occurence de PT dans une chaîne Ex: Cum:[jour1]&[jour2]&[jour3] donne PTNSPT Quelle fonction peut répondre 2 ?
Sinon, j'exporte vers Excel ou je fait du vba.
Merci d'avance
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Michèle,
Je ne crois pas qu'il y ait un équivalent sous Access de NB.SI. Mon idée
serait de créer une fonction en VBA et de l'appeler dans la requête.
Exemple de fonction (à copier dans un module global):
Function NbOccurences(UneChaine, CarSeek As String) As Integer
If IsNull(UneChaine) Then Exit Function
Dim cpt As Integer, Longueur As Integer, pos As Integer
pos = InStr(UneChaine, CarSeek)
If pos > 0 Then
Longueur = Len(CarSeek)
cpt = cpt + 1
UneChaine = Mid(UneChaine, pos + Longueur)
NbOccurences = cpt + NbOccurences(UneChaine, CarSeek)
End If
End Function
et dans la requête:
le champ Cum et un champ calcule:
Nb:NbOccurences([Cum];"PT")
Bonjour à tous,
Dans ma gestion de planning, j'ai 18 champs appelés jour1, jour2, jour3,
etc... contenant des codes comme PT,NT,NS,NT,PA, etc..
J'aurais souhaité, en passant par une requête (cad sans vba), pouvoir
compter le nombre de PT
Idée : créer un champ calculé et calculer le nombre d'occurence de PT dans
une chaîne
Ex: Cum:[jour1]&[jour2]&[jour3] donne PTNSPT
Quelle fonction peut répondre 2 ?
Sinon, j'exporte vers Excel ou je fait du vba.
Merci d'avance
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je ne crois pas qu'il y ait un équivalent sous Access de NB.SI. Mon idée serait de créer une fonction en VBA et de l'appeler dans la requête.
Exemple de fonction (à copier dans un module global):
Function NbOccurences(UneChaine, CarSeek As String) As Integer If IsNull(UneChaine) Then Exit Function Dim cpt As Integer, Longueur As Integer, pos As Integer pos = InStr(UneChaine, CarSeek) If pos > 0 Then Longueur = Len(CarSeek) cpt = cpt + 1 UneChaine = Mid(UneChaine, pos + Longueur) NbOccurences = cpt + NbOccurences(UneChaine, CarSeek) End If End Function
et dans la requête: le champ Cum et un champ calcule: Nb:NbOccurences([Cum];"PT")
Bonjour à tous,
Dans ma gestion de planning, j'ai 18 champs appelés jour1, jour2, jour3, etc... contenant des codes comme PT,NT,NS,NT,PA, etc..
J'aurais souhaité, en passant par une requête (cad sans vba), pouvoir compter le nombre de PT
Idée : créer un champ calculé et calculer le nombre d'occurence de PT dans une chaîne Ex: Cum:[jour1]&[jour2]&[jour3] donne PTNSPT Quelle fonction peut répondre 2 ?
Sinon, j'exporte vers Excel ou je fait du vba.
Merci d'avance
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Marie
Bonjour, Comme équivalent de nb.si je vois bien la fonction de domaine cptedom() exemple : pour compter le nombre de commandes du client n° 1 =CpteDom("*";"[TableCommandes]";"[codeclient]=1") 1er argument : le champ que l'on veut compter : nom du champ ou * (tous les enregistrements) 2ème argument : la table où se trouve ce champ 3ème argument : le critère Tous ces arguments entre guillemets, (et si l'expression du critère nécessite des guillemets les remplacer par apostrophes) Bonne journée Marie
"Michèle" a écrit dans le message de news:
Bonjour à tous,
Dans ma gestion de planning, j'ai 18 champs appelés jour1, jour2, jour3, etc... contenant des codes comme PT,NT,NS,NT,PA, etc..
J'aurais souhaité, en passant par une requête (cad sans vba), pouvoir compter le nombre de PT
Idée : créer un champ calculé et calculer le nombre d'occurence de PT dans une chaîne Ex: Cum:[jour1]&[jour2]&[jour3] donne PTNSPT Quelle fonction peut répondre 2 ?
Sinon, j'exporte vers Excel ou je fait du vba.
Merci d'avance
Bonjour,
Comme équivalent de nb.si je vois bien la fonction de domaine cptedom()
exemple : pour compter le nombre de commandes du client n° 1
=CpteDom("*";"[TableCommandes]";"[codeclient]=1")
1er argument : le champ que l'on veut compter : nom du champ ou * (tous les
enregistrements)
2ème argument : la table où se trouve ce champ
3ème argument : le critère
Tous ces arguments entre guillemets, (et si l'expression du critère
nécessite des guillemets les remplacer par apostrophes)
Bonne journée
Marie
"Michèle" <Michle@discussions.microsoft.com> a écrit dans le message de
news: 8EBCF19A-629A-403F-B0EF-61A200306606@microsoft.com...
Bonjour à tous,
Dans ma gestion de planning, j'ai 18 champs appelés jour1, jour2, jour3,
etc... contenant des codes comme PT,NT,NS,NT,PA, etc..
J'aurais souhaité, en passant par une requête (cad sans vba), pouvoir
compter le nombre de PT
Idée : créer un champ calculé et calculer le nombre d'occurence de PT dans
une chaîne
Ex: Cum:[jour1]&[jour2]&[jour3] donne PTNSPT
Quelle fonction peut répondre 2 ?
Bonjour, Comme équivalent de nb.si je vois bien la fonction de domaine cptedom() exemple : pour compter le nombre de commandes du client n° 1 =CpteDom("*";"[TableCommandes]";"[codeclient]=1") 1er argument : le champ que l'on veut compter : nom du champ ou * (tous les enregistrements) 2ème argument : la table où se trouve ce champ 3ème argument : le critère Tous ces arguments entre guillemets, (et si l'expression du critère nécessite des guillemets les remplacer par apostrophes) Bonne journée Marie
"Michèle" a écrit dans le message de news:
Bonjour à tous,
Dans ma gestion de planning, j'ai 18 champs appelés jour1, jour2, jour3, etc... contenant des codes comme PT,NT,NS,NT,PA, etc..
J'aurais souhaité, en passant par une requête (cad sans vba), pouvoir compter le nombre de PT
Idée : créer un champ calculé et calculer le nombre d'occurence de PT dans une chaîne Ex: Cum:[jour1]&[jour2]&[jour3] donne PTNSPT Quelle fonction peut répondre 2 ?