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 :

Calculer la somme des valeurs d'un champ, retournées par un formulaire de recherche.


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 19
    Points
    19
    Par défaut Calculer la somme des valeurs d'un champ, retournées par un formulaire de recherche.
    Salut, c'est encore moi !

    Après une session de debug interminable, me voici de retor avec de nouveaux objectifs et bien entendu, de nouvelles difficultés !

    Ainsi, maintenant que mon formulaire de recherche multicritères (dit formualire Cafeïne par les connaisseurs ) fonctionne, je souhaiterais qu'à la manières du compteur d'entrées retournées, un label me retourne la somme des valeurs d'un champs retournées par une recherche.

    J'ai donc essayé de créer une variable "SQLValeur" sauf que...

    Je bloque à peu près ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQLValeur = "SELECT DISTINCTROW Sum cartes!cote_de_cartes
    ne sachant pas comment dire à ma requète de ne me retourner que la somme des valeurs contenues dans ma "lst_resultats"...

    (tout ca en VB bien sûre )

    Merci d'avance

    PS :

    voici mon code :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Private Sub rafraichirreq()
     Dim SQL As String
     Dim SQLWhere As String
     Dim SQLValeur As String
     
     SQL = "SELECT cartes!nom_de_carte, cartes!edition_de_carte, cartes!type_de_carte, cartes!couleur, cartes!rarete, cartes!capacite_de_carte, cartes!nbr_de_carte, cartes!cote_de_carte, cartes!cout_converti_de_mana, cartes!force_endurance FROM cartes WHERE cartes!nom_de_carte Is not Null"
     If Form_Multi_Criteres.chk_edition Then
        SQL = SQL & " And cartes!edition_de_carte ='" & Form_Multi_Criteres.cmb_edition & "' "
     End If
     If Form_Multi_Criteres.chk_type Then
        SQL = SQL & " And cartes!type_de_carte ='" & Form_Multi_Criteres.cmb_type & "' "
     End If
     If Form_Multi_Criteres.Chk_nom Then
        SQL = SQL & " And cartes!nom_de_carte like '*" & Form_Multi_Criteres.Txt_nom & "*' "
     End If
     If Form_Multi_Criteres.Chk_capacite Then
        SQL = SQL & " And cartes!capacite_de_carte like '" & Form_Multi_Criteres.cmb_capacite & "' "
     End If
     If Form_Multi_Criteres.Chk_couleur Then
        SQL = SQL & " And cartes!couleur ='" & Form_Multi_Criteres.cmb_couleur & "' "
     End If
     If Form_Multi_Criteres.Chk_rarete Then
        SQL = SQL & " And cartes!rarete ='" & Form_Multi_Criteres.cmb_rarete & "' "
     End If
     If Form_Multi_Criteres.chk_cout Then
        SQL = SQL & " And cartes!cout_converti_de_mana like '*" & Form_Multi_Criteres.txt_cout & "*' "
     End If
     If Form_Multi_Criteres.Chk_cote Then
        SQL = SQL & " And cartes!cote_de_carte like '*" & Form_Multi_Criteres.txt_cote & "*' "
     End If
     If Form_Multi_Criteres.chk_nbr Then
        SQL = SQL & " And cartes!nbr_de_carte like '*" & Form_Multi_Criteres.txt_nbr & "*' "
     End If
     
     
     SQLValeur = "SELECT DISTINCTROW Sum cartes!cote_de_carte"
     SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     SQL = SQL & ";"
     
     Me.lbl_statis.Caption = DCount("*", "cartes", SQLWhere) & " / " & DCount("*", "cartes")
     'Me.lbl_valeur.Caption = 
     
     Debug.Print SQL
     
     Form_Multi_Criteres.Lst_resultats.RowSource = SQL
     'Form_Multi_Criteres.Lst_resultats.Requery
     
    End Sub

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Tu peux essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.lbl_valeur.Caption = Nz(DSum("Cote_de_carte","Cartes",SQLWhere),0)
    Bon courage,

    PGZ

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 19
    Points
    19
    Par défaut
    Merci, je vais essayer de suite la fonction DSum

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 19
    Points
    19
    Par défaut
    w00t !!

    Bravo ca marche

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 18/06/2011, 14h01
  2. Calcul de la somme des valeurs d un champ
    Par JeanduB dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 01/04/2008, 09h20
  3. Somme des valeurs de certains champs d'un formulaire
    Par Daniel MOREAU dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/05/2007, 22h39
  4. calcul du somme des valeurs ds un fichier
    Par meera dans le forum Visual C++
    Réponses: 5
    Dernier message: 19/11/2006, 12h22
  5. Avoir la somme des valeurs d'un champ resultat d'une requete
    Par iam dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/07/2006, 09h27

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