|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Guy Inscription : janvier 2010 Messages : 61 ![]() |
Bonjour le Forum,
Je vais essayer d’être précis: J'ai créé une requête (Rqt Amis) basée sur une table (Tbl Contacts) Cette requête se présente ainsi : Col 1 Col 2 Col 3 Champ......: Amis: Nom Catégorie ; Titre ; Total: Nom Catégorie Table........: Tbl Contacts ; Tbl Contacts ;Tbl Contacts Opération...: Regroupement ;Regroupement ;Compte Tri............: Afficher.....: oui ; oui ; oui Critères.....: "Amis" Ou...........: Dans un formulaire j'introduis un Sous Formulaire basé sur cette requête pour afficher les résultats. Formulaire (Frm Synthèse) avec Sous Formulaire (SousFrm Amis) Je désirerai avoir dans le pied du Sous Formulaire une Zone de texte me calculant le nombre d'enregistrement affichés sachant que le Sous Formulaire est en mode continu. Voila j'espère que quelqu'un pourra m'aider j'ai essayé avec la formule DSum mais je ne la comprend pas très bien et cela me provoque des erreurs Merci d'avance zeltron24 |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Robert JAMINRetraité Inscription : juillet 2009 Messages : 1 223 ![]() |
Bonsoir,
DSum fait aune addition de valeur essayez plutôt DCount pour compter.
__________________
Cordialement. RJ |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Guy Inscription : janvier 2010 Messages : 61 ![]() |
Bonsoir rjamin
J'ai essayé avec Dcount ça me compte tous les enregistremements Ou alors je l'utilise mal car ce que je veux c'est avoir le total aprés le filtre. Mon SousFrm Amis me donne : Monsieurs = 8 Madame = 7 Mademoiselle = 2 c'est le total des trois que je veux soit affiché dans une zone de texte 17 |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : janvier 2007 Messages : 218 ![]() |
Salut,
Dans ce cas, tu peux mettre en source de ta ZdT17 : =[Monsieur]+[Madame]+[Mademoiselle] Les champs correspondent en fait à tes Champs qui contiennent les nombres 8,7 et 2. @+ |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Robert JAMINRetraité Inscription : juillet 2009 Messages : 1 223 ![]() |
Bonjour,
Dans l'aide d'ACCESS on trouve DCount, fonction La fonction DCount permet de déterminer le nombre d'enregistrements figurant dans un jeu d'enregistrements spécifique (un domaine (domaine : ensemble d’enregistrements défini par une table, une requête ou une expression SQL. Les fonctions de domaine renvoient des informations statistiques sur un domaine ou un ensemble d’enregistrements spécifique.)). Utilisez-la dans un module Visual Basic pour Applications (VBA), une macro (macro : action ou ensemble d’actions que vous pouvez utiliser pour automatiser des tâches. Les macros sont enregistrées dans le langage de programmation Visual Basic pour Applications.), une expression de requête ou un contrôle calculé (contrôle calculé : contrôle utilisé dans un formulaire, un état ou une page d’accès aux données pour afficher le résultat d’une expression. Ce résultat est recalculé chaque fois que l’une des valeurs sur laquelle est basée l’expression est modifiée.). Par exemple, vous pouvez l'utiliser dans un module pour renvoyer le nombre d'enregistrements d'une table Orders qui correspondent aux commandes passées à une date spécifique. Syntaxe DCount(expr, domaine [, critères] ) La syntaxe de la fonction DCount comporte les arguments suivants : Argument Description expr Obligatoire. Expression identifiant le champ dont vous voulez comptabiliser les enregistrements. Il peut s'agir soit d'une expression chaîne (expression de chaîne : expression qui, évaluée, donne une séquence de caractères contigus. L’expression peut comprendre les éléments suivants ; fonction qui renvoie une chaîne ou une chaîne de type Variant (VarType 8) ; opérateur sur chaîne, constante, variable ou Variant.) qui identifie un champ d'une table ou d'une requête, soit d'une expression qui effectue un calcul sur des données de ce champ. Vous pouvez inclure dans l'argument expr le nom d'un champ dans une table, un contrôle sur un formulaire, une constante ou une fonction. Si expr inclut une fonction, celle-ci peut être intégrée ou définie par l'utilisateur mais ne peut pas être une fonction de regroupement Domaine ni une fonction d'agrégation SQL. domaine Obligatoire. Expression chaîne qui identifie l'ensemble d'enregistrements constituant le domaine. Il peut s'agir d'un nom de table ou de requête pour une requête n'exigeant pas de paramètre. critères Facultatif. Expression chaîne utilisée pour limiter la plage de données sur laquelle porte la fonction DCount. Par exemple, l'argument critères est souvent équivalent à la clause WHERE d'une expression SQL sans le mot WHERE. Si cet argument est omis, la fonction DCount évalue l'argument expr par rapport à l'ensemble du domaine. Tous les champs inclus dans l'argument critères doivent également figurer dans le domaine sans quoi, la fonction DCount renvoie la valeur Null (Null : valeur que vous pouvez entrer dans un champ ou utiliser dans des expressions ou des requêtes pour indiquer des données manquantes ou inconnues. Dans Visual Basic, le mot clé Null indique une valeur Null. Certains champs, tels que les champs de clé primaire, ne peuvent pas contenir de valeurs Null.). Remarques Faites appel à la fonction DCount pour comptabiliser le nombre d'enregistrements figurant dans un domaine lorsque vous n'avez pas besoin de connaître leur valeur spécifique. Bien que l'argument expr puisse calculer la valeur d'un champ, la fonction DCount se contente de renvoyer le nombre d'enregistrements. La valeur des calculs effectués par l'argument expr n'est pas disponible. Utilisez la fonction DCount dans un contrôle calculé si vous avez besoin de spécifier des critères afin de limiter la plage de données sur laquelle porte la fonction DCount. Par exemple, pour afficher le nombre de commandes à expédier en Californie, définissez la propriété SourceContrôle de la zone de texte à l'expression suivante : =DCount("[IDCommande]", "Commandes", "[RégionExpédition] = 'CA'") Si vous voulez simplement comptabiliser tous les enregistrements du domaine sans restriction, faites appel à la fonction Count. Conseil La fonction Count a été optimisée pour accélérer la calcul du nombre d'enregistrements dans des requêtes. Utilisez-la dans une expression de requête à la place de la fonction DCount et définissez des critères facultatifs pour limiter le nombre de résultats renvoyés. Faites appel à la fonction DCount si vous voulez comptabiliser les enregistrements d'un domaine à partir d'un module de code ou d'une macro ou dans un contrôle calculé. Vous pouvez faire appel à la fonction DCount pour calculer le nombre d'enregistrements contenant un champ particulier qui ne figure pas dans la source de l'enregistrement sur laquelle le formulaire ou l'état est basé. Par exemple, vous pouvez afficher le nombre de commandes figurant dans un contrôle calculé de la table Orders dans un formulaire basé sur la table Products. La fonction DCount ne comptabilise pas les enregistrements contenant des valeurs Null dans le champ référencé par l'argument expr sauf si cet argument est un astérisque (*). Si vous utilisez un astérisque, la fonction DCount calcule le nombre total d'enregistrements y compris ceux contenant des champs Null. L'exemple suivant calcule le nombre d'enregistrements figurant dans une table Orders. intX = DCount("*", "Commandes") Si l'argument domaine correspond à une table contenant une clé primaire (clé primaire : un ou plusieurs champs (colonnes) dont la valeur identifie de façon unique chaque enregistrement d’une table. Une clé primaire n’accepte pas les valeurs Null et doit toujours avoir un index unique. Une clé primaire sert à relier une table à des clés étrangères se trouvant dans d’autres tables.), vous pouvez également calculer le nombre d'enregistrements en définissant expr au champ de clé primaire étant donné que ce champ ne contiendra jamais de valeur Null. Si l'argument expr identifie plusieurs champs, séparez leur nom par un opérateur de concaténation (soit le symbole du Et commercial (&), soit l'opérateur d'addition (+). Si vous utilisez le symbole du Et commercial pour séparer les champs, la fonction DCount renvoie le nombre d'enregistrements contenant des données dans un des champs répertoriés et si vous utilisez l'opérateur d'addition, elle renvoie uniquement le nombre d'enregistrements contenant des données dans tous les champs répertoriés. L'exemple suivant montre les effets de chaque opérateur lorsqu'il est utilisé avec un champ contenant des données dans tous les enregistrements (ShipName) et avec un champ ne contenant pas de données (ShipRegion). intW = DCount("[NomExpédition]", "Commandes") intX = DCount("[RégionExpédition]", "Commandes") intY = DCount("[NomExpédition] + [RégionExpédition]", "Commandes") intZ = DCount("[NomExpédition] & [RégionExpédition]", "Commandes") Remarque Il est conseillé d'utiliser le Et commercial pour effectuer des concaténation de chaînes et de réserver l'opérateur d'addition aux additions numériques sauf si vous voulez propager des valeurs Null dans toute une an expression. Les changements effectués dans les enregistrements du domaine, qui n'ont pas été enregistrés, ne sont pas inclus lorsque vous utilisez cette fonction. Si vous voulez que la fonction DCount utilise les valeurs modifiées, commencez par enregistrer ces changements en cliquant sur Sauvegarder enregistrement sous Enregistrements dans l'onglet Données, en plaçant le curseur sur un autre enregistrement ou en utilisant la méthode Mise à jour. Exemple Remarque Les exemples qui suivent montrent l'utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d'informations sur l'utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher et entrez un ou plusieurs termes à rechercher. La fonction suivante renvoie le nombre de commandes expédiés vers un pays/une région spécifique après une certaine date d'expédition. Le domaine correspond à une table Commandes. Public Function OrdersCount _ (ByVal strCountryRegion As String, _ ByVal dteShipDate As Date) As Integer OrdersCount = DCount("[DateExpédié]", "Commandes", _ "[RégionPaysExpédition] = '" & strCountryRegion & _ "' AND [DateExpédié] > #" & dteShipDate & "#") End Function
__________________
Cordialement. RJ |
|
|
00
|
|
|
#6 | |
|
Futur Membre du Club
![]() Guy Inscription : janvier 2010 Messages : 61 ![]() |
Bonjour à tous,
La "Bible" de DCunt est très explicite pour un "Vétéran" d' access mais j'avoue y perdre mon latin. J'essaye de trouvé le code qui me convient. De plus dans la faq j'ai trouvé ce code Citation:
Enfin, est il possible d'empécher Access d'accrémenter la clé primaire lorsque j'annule un enregistrement ? Merci pour vos réponses |
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Robert JAMINRetraité Inscription : juillet 2009 Messages : 1 223 ![]() |
Re,
Un peu de lecture encore http://starec.developpez.com/tuto/fonctionsdomaines/ plus explicite que l'aide.
__________________
Cordialement. RJ |
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Guy Inscription : janvier 2010 Messages : 61 ![]() |
Re,
J'y suis allé voir déjà, mais comme je le dit pour moi c'est du latin. Il me faudrait un exemple ayant trait à mon projet. Cela je le comprendrai mieux. En clair avec le nom de mes champs. J'ai déjà copié des explications en y changeant les champs et Frm par les miens mais ça ne me mets que des erreurs ou cela bloque Acces. Cordialement |
|
|
00
|
|
|
#9 | |
|
Futur Membre du Club
![]() Guy Inscription : janvier 2010 Messages : 61 ![]() |
Re,
Au plus je recherche dans la faq au plus je me mélange les pédales. Là je suis au bord de la crise. Une autre erreur s'affiche maintenant Voici le code : Citation:
De plus je ne peux pas aller sur la macro NouvelEnreg Alors svp j'ai besoin d'aide avant de jeter le marteau sur le PC d'avance Merci |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com