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

Requêtes et SQL. Discussion :

Utiliser le résultat de SELECT Sum dans If


Sujet :

Requêtes et SQL.

  1. #21
    Invité
    Invité(e)
    Par défaut
    Re

    Essaye un msgbox

    Starec

  2. #22
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    re,
    Comment récuperer la valeur de ma requete dans un msgbox????

  3. #23
    Invité
    Invité(e)
    Par défaut
    Re

    Après le set rst, écris msgbox CalculEtat

    Starec

  4. #24
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    après le rst le code ne va pas jusque là....
    Alors, je l'ai mis avant mais il m'affiche la requete par elle même !!
    Select Sum.....
    pas le résultat de cette requete
    J'ai voulu mettre
    msgbox CalculEtat.value
    mais ça marche pas
    Je me pose une question :
    sachant que j'ai une requete qui me donne le bon résultat ( la somme) mais avec l'interface Accèss, pourrai-je l'utiliser pour finaliser cette fonction???

  5. #25
    Invité
    Invité(e)
    Par défaut
    RE

    C'est normal qu'il t'affiche la requête, c'est pour voir si tes variables (entre autre ta première requête) sont celles que tu penses avoir, ce n'est pas pour afficher le résultat

    Starec

    PS : je vais devoir partir, bon courage, mais à mon avis cela vient de ta requête

  6. #26
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    merci en tout cas je continu a chercher..................

  7. #27
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    Je comprends pas ta logique.

    En tout cas ta deuxième requete ne renvoie aucun résultat, c'est pour ca que ton programme plante.

    Plutot que d'incorporer ta première requete dans la deuxième, je te conseille plutot ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CalculEtat = "SELECT Sum(ValeurPourCalculBrutVeille) AS SommeDeValeurPourCalculBrutVeille FROM T_JourOuvréValeur 
    WHERE (((T_JourOuvréValeur.Date) Between Date() And [Formulaires]![F_SuiteArguSolution]![F_RdvRépartition].[Form]![SF_RendezVous].[Form]![DateRdv]) AND ((T_JourOuvréValeur.Ouvré)=Yes));
    et encore...

    [Formulaires]![F_SuiteArguSolution]![F_RdvRépartition].[Form]![SF_RendezVous].[Form]![DateRdv])
    tu le mets dans une variable

    Date() aussi

    Comme ca au moins tu pourras faire msgbox variable
    pour vérifier que ca correspond bien à ce que tu as dans ton formulaire

    et ta requete sera plus lisible[/code]

  8. #28
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    De plus,

    R_RegroupeValeurEntreDate

    Est ce les résultats de la requete ?

    Ou est ce une chaine de caractères qui contient ta requete (select ...)

    Essaye un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox R_RegroupeValeurEntreDate
    de suite après Private Sub DateRdv_AfterUpdate()

  9. #29
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Ta requête fait appel à un controle de formulaire, c'est impossible de la sorte en VBA ... d'où le problème de paramètre.

    Je t'invite vivement à utiliser les requêtes paramétrées et à enrichir les paramètres avec VBA.(Ou bien consrtuire le sql de la requête dans VBA)

    Dans tous les cas, je te renvoie à :

    http://warin.developpez.com/access/dao

  10. #30
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Bien suite aux conseils de chaqun j'ai repris les SQL !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CalculEtat = "SELECT Sum(T_JourOuvréValeur.ValeurPourCalculBrutVeille) AS Somme FROM T_JourOuvréValeur WHERE ((T_JourOuvréValeur.Date) Between Date() And Me.DateRdv);"
    En fait c'est ce qu'il me faut !
    Comme un idiot, j'ai pas reflechi sur le fait que la date auquel je fait la diffrénce est dans mon form !
    Puisque j'essai de faire le calcul AfterMaj de DateRdv j'ai donc la date qu'il me faut pour sommer les valeurs entre les deux dates !
    Mais j'ai toujours ce
    trop d'argument. 1attendu
    ???
    J'peux pas faire plus "ligth" quand a la SQl !!
    J'comprend plus là....

  11. #31
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CalculEtat = "SELECT Sum(T_JourOuvréValeur.ValeurPourCalculBrutVeille) AS Somme FROM T_JourOuvréValeur WHERE T_JourOuvréValeur.Date Between Date() And #" & Format(Me.DateRdv,"mm/dd/yyyy") & "#"

  12. #32
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    Dans une instruction sql,
    quand tu utilise between,
    il faut que tes dates soient entre ##

    Between #12/02/2005# and #12/03/2005#


    Essaye de mettre tes dates dans des variables, ca sera plus facile.

  13. #33
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Houlalala...
    Si jamais Cafeine tombe la dessus il va me
    encore ce pu...n de format de date!!!
    Merci Tofalu c'est bien le bon code !
    Reste a récuperer la valeur a mettre dans mon if!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Set db = CurrentDb
    Dim rst As DAO.Recordset
    Dim CalculEtat As String
    CalculEtat = "SELECT Sum(T_JourOuvréValeur.ValeurPourCalculBrutVeille) AS Somme FROM T_JourOuvréValeur WHERE T_JourOuvréValeur.Date Between Date() And #" & Format(Me.DateRdv, "mm/dd/yyyy") & "#"
    Set rst = db.OpenRecordset(CalculEtat, dbOpenForwardOnly, dbReadOnly)
     
    If (rst("Somme") <= 4) Then
    Me.EtatRdv = "Veille"
    Else
    Me.EtatRdv = "Brut"
    End If
    Ce que je ne comprend pas c'est pourquoi le debug s'arrete sur le If???
    Quand je place le pointeur de la sourie sur
    rst("Somme")
    j'ai
    rst("Somme")=6
    ce qui est le bon resultat!
    Pourquoi le debug s'arrete sur mon if???

  14. #34
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Houf !!! Et bien enfin ça marche !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub DateRdv_AfterUpdate()
    Set db = CurrentDb
    Dim rst As DAO.Recordset
    Dim CalculEtat As String
    CalculEtat = "SELECT Sum(T_JourOuvréValeur.ValeurPourCalculBrutVeille) AS Somme FROM T_JourOuvréValeur WHERE T_JourOuvréValeur.Date Between Date() And #" & Format(Me.DateRdv, "mm/dd/yyyy") & "#"
    Set rst = db.OpenRecordset(CalculEtat, dbOpenForwardOnly, dbReadOnly)
     
    If ((rst("Somme")) <= 4) Then
    Me.EtatRdv = "Veille"
    Else
    Me.EtatRdv = "Brut"
    End If
    End Sub
    il manquait des parenthèses entre le rst et somme !!
    ((rst("Somme"))
    pour isoler le résultat afin que le If fonctionne !!!!
    Merci beaucoup a tous, Starec, Celia1303, et Tofalu de m'avoir aidé sur cette fonction qui était une première pour moi !! (Recordset)
    A tous
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/05/2012, 12h31
  2. Réponses: 4
    Dernier message: 17/08/2011, 11h39
  3. Réponses: 3
    Dernier message: 06/11/2009, 11h13
  4. Réutiliser le résultat d'un SUM dans la requête
    Par Bobtop dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/07/2006, 11h12
  5. utiliser le resultat d'un SUM dans une variable
    Par Qapoka dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/05/2006, 15h47

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