Re
Essaye un msgbox
Starec
Re
Essaye un msgbox
Starec
re,
Comment récuperer la valeur de ma requete dans un msgbox????
Re
Après le set rst, écris msgbox CalculEtat
Starec
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 !!
pas le résultat de cette requeteSelect Sum.....
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???
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
merci en tout cas je continu a chercher..................
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 :
et encore...
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));
[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]
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 unde suite après Private Sub DateRdv_AfterUpdate()
Code : Sélectionner tout - Visualiser dans une fenêtre à part msgbox R_RegroupeValeurEntreDate
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
Bien suite aux conseils de chaqun j'ai repris les SQL !
En fait c'est ce qu'il me 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 Me.DateRdv);"
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à....
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") & "#"
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.
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!!
Ce que je ne comprend pas c'est pourquoi le debug s'arrete sur le 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
Quand je place le pointeur de la sourie surj'airst("Somme")ce qui est le bon resultat!rst("Somme")=6
Pourquoi le debug s'arrete sur mon if???
Houf !!! Et bien enfin ça marche !!!
il manquait des parenthèses entre le rst et somme !!
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 Subpour isoler le résultat afin que le If fonctionne !!!!((rst("Somme"))
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager