IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

syntaxe de DCOUNT


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Villiers-sur-Marne
    Inscrit en
    Novembre 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Villiers-sur-Marne

    Informations forums :
    Inscription : Novembre 2019
    Messages : 43
    Points : 29
    Points
    29
    Par défaut syntaxe de DCOUNT
    Bonjour,

    Je n'arrive pas à trouver la synthaxe de Dcount pour le cas suivant Nom : recherche nombre d'enregistrements.png
Affichages : 127
Taille : 53,6 Ko

    j'ai une requete entre 2 tables la table T_factures et la table T_Type_Factures

    Par exemple je voudrais savoir s'il existe des factures pour le champs Lien_bronze =70 dont la date "Date_remise_en_banque" est > #12/04/2023" et dont le No_Groupe de la table T_Type_Facture = 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =SQLSELECT T_Factures.Lien_bronze, T_Factures.Montant, T_Factures.Date_remise_en_banque
    FROM T_Factures INNER JOIN T_Type_Facture ON T_Factures.Lien_Type_Facture = T_Type_Facture.Num_Type_Facture
    WHERE (((T_Factures.Lien_bronze)=70) AND ((T_Factures.Date_remise_en_banque)>=#4/12/2023#) AND ((T_Type_Facture.No_Groupe)=2));
    j'ai écrit le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sql = "T_Factures.lien_Bronze=70 AND ((T_Factures.Date_remise_en_banque)>=#4/12/2023#) AND ((T_Type_Facture.No_Groupe)=2)"
    nbr = DCount("*", "T_Factures", sql)
    If nbr = 0 Then
        MsgBox ("pas trouve")
    Else
        MsgBox ("trouve")
    End If
    à l'execution j'ai le message d'erreur
    Erreur d'execution 2471
    L'expression entrée comme paramètre de requete est à l'origine de l'erreur suivante "T_Type_Facture.No_Groupe"


    Quelqu'un peut-il m'aider ?
    Merci d'avance

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bah oui il y a trop de parenthèses...
    Citation Envoyé par Mrhappy94 Voir le message
    j'ai écrit le code suivant
    sql = "T_Factures.lien_Bronze=70 AND ((T_Factures.Date_remise_en_banque)>=#4/12/2023#) AND ((T_Type_Facture.No_Groupe)=2)"

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Villiers-sur-Marne
    Inscrit en
    Novembre 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Villiers-sur-Marne

    Informations forums :
    Inscription : Novembre 2019
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par nico84 Voir le message
    Bah oui il y a trop de parenthèses...
    Bonjour,
    ça change rien, toujours la même erreur.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Oups oui pardon aucune de ces parenthèses n'est utile mais ce n'est pas le problème !
    dcount est sur la table t_factures mais no_groupe n'est pas un champ de cette table

    Je ne sais pas si access autorise dcount sur une requete nommée, sinon il faut utiliser un recordset. J'avoue que comme ce n'est pas standard j'utilise très peu dcount

  5. #5
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut nico84
    Pour répondre à ton interrogation :
    DCount ( expression, domain, [criteria] ) où domain peut-être table/query

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 770
    Points : 14 812
    Points
    14 812
    Par défaut
    bonjour,
    Citation Envoyé par hyperion13 Voir le message
    Salut nico84
    Pour répondre à ton interrogation :
    DCount ( expression, domain, [criteria] ) où domain peut-être table/query
    ... et où query est une requête nommée, donc
    @Mrhappy94 : tu dois enregistrer le SQL et lui donner un nom pour ensuite l'utiliser dans la fonction comme une table

    PS: et syntaxe ne prend pas de "h" à réserver plutôt pour une synthèse ...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Villiers-sur-Marne
    Inscrit en
    Novembre 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Villiers-sur-Marne

    Informations forums :
    Inscription : Novembre 2019
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Pour faire un test en dur j'ai créé la requête1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT T_Factures.Lien_bronze, T_Factures.Montant, T_Factures.Date_remise_en_banque, T_Type_Facture.No_Groupe FROM T_Factures INNER JOIN T_Type_Facture ON T_Factures.Lien_Type_Facture = T_Type_Facture.Num_Type_Facture;"
    avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sql = "T_Factures.lien_Bronze=70 AND ((T_Factures.Date_remise_en_banque)>=#4/12/2023#) AND ((T_Type_Facture.No_Groupe)=2)"
    nbr = DCount("*", "Requête1", sql)
    ça fonctionne parfaitement.

    Dans Dcount j'ai essayé de remplacer Requête1 par le code de la requete mais cela ne fonctionne pas.
    nbr = DCount("*", "SELECT T_Factures.Lien_bronze, T_Factures.Montant, T_Factures.Date_remise_en_banque, T_Type_Facture.No_Groupe FROM T_Factures INNER JOIN T_Type_Facture ON T_Factures.Lien_Type_Facture = T_Type_Facture.Num_Type_Facture;", sql)

    Il faut une nom de requete existante.

    Bon voilà déjà une solution merci à vous tous.

    Sinon savoir s'il existe ou pas des enregistrements en utilisant un recordset c'est quoi la synthaxe ?

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Mrhappy94 Voir le message
    ...
    Sinon savoir s'il existe ou pas des enregistrements en utilisant un recordset c'est quoi la synthaxe ?
    Salut,

    Tu peux tester la propriété EOF du recordset :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Dim rst as DAO.Recordset
     
    sql = "SELECT T_Factures.Lien_bronze, T_Factures.Montant, T_Factures.Date_remise_en_banque " & _
          "FROM T_Factures INNER JOIN T_Type_Facture ON T_Factures.Lien_Type_Facture = T_Type_Facture.Num_Type_Facture " & _
          "WHERE (T_Factures.Lien_bronze=70) AND (T_Factures.Date_remise_en_banque>=#4/12/2023#) AND (T_Type_Facture.No_Groupe=2);"
     
    ' ouvre le recordset basé sur le sql
    Set rst = CurrentDb.OpenRecordset(sql)
     
    If rst.EOF Then ' si pas d'enrg.
        MsgBox ("pas trouvé")
    else ' sinon
        MsgBox ("trouvé")
    end if
     
    rst.close ' ferme le recordsey
    set rst = nothing
    https://learn.microsoft.com/fr-fr/of...f-property-dao

    Cdlt,

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Villiers-sur-Marne
    Inscrit en
    Novembre 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Villiers-sur-Marne

    Informations forums :
    Inscription : Novembre 2019
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    ah ben oui c'est carrément plus simple !!!!!
    trop forts les gars.
    un grand merci
    mrhappy94

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur de syntax avec DCount
    Par romeo2003 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 15/02/2021, 14h07
  2. [AC-2007] Pb syntaxe DCount avec critères ne fonctionne pas.
    Par benji971 dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/08/2015, 20h24
  3. Syntaxe DCount
    Par Frog74 dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/04/2008, 09h34
  4. Pb de Syntaxe avec l'expression Dcount
    Par VBBBA dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2006, 16h37
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo