Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SommeDom (DSum) avec comme source une variable

15 réponses
Avatar
fredonnon
Bonjour,

J'ouvre un formulaire avec une variable nomm=E9e stSource qui est une
requ=EAte SQL entre guillemets.

Je souhaite avoir la somme des enregistrements d'un champ
[MontantTotal] si le champ [Operateur]=3D'BT'. Dans le champ o=F9
s'affiche le r=E9sultat, j'ai mis

=3DSomDom("[MontantTotal]";"stSource";"[Op=E9rateur]=3D'BT'")

Maheureusement, cela me retourne #Erreur ?

Le probl=E8me vient s=FBrement du deuxi=E8me param=E8tre (stSource) qui
n'est pas le nom de la table du formulaire mais la requ=EAte SQL qui
donne les r=E9sultats escompt=E9s dans ce formulaire.

Y a t il un moyen de rem=E9dier au probl=E8me svp ? Merci pour vos
lumi=E8res.

Cordialement,

10 réponses

1 2
Avatar
3stone
Salut,

J'ouvre un formulaire avec une variable nommée stSource qui est une
requête SQL entre guillemets.

Je souhaite avoir la somme des enregistrements d'un champ
[MontantTotal] si le champ [Operateur]='BT'. Dans le champ où
s'affiche le résultat, j'ai mis

=SomDom("[MontantTotal]";"stSource";"[Opérateur]='BT'")

Maheureusement, cela me retourne #Erreur ?

Le problème vient sûrement du deuxième paramètre (stSource) qui
n'est pas le nom de la table du formulaire mais la requête SQL qui
donne les résultats escomptés dans ce formulaire.

Y a t il un moyen de remédier au problème svp ? Merci pour vos
lumières.



Tu as essayé sans les guillemets ?

=SomDom("[MontantTotal]";stSource;"[Opérateur]='BT'")



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
fredonnon
Merci pour ton aide.

En enlevant les guillemets, il a l'air de vouloir transformer ça en
champ puisque il transforme ça en :

=SomDom("[MontantTotal]";[stSource];"[Opérateur]='BT'")

J'ai alors #Nom en erreur dans le champ en mode formulaire...
Avatar
3stone
Salut,

En enlevant les guillemets, il a l'air de vouloir transformer ça en
champ puisque il transforme ça en :

=SomDom("[MontantTotal]";[stSource];"[Opérateur]='BT'")

J'ai alors #Nom en erreur dans le champ en mode formulaire...



Ou déclare tu la variable ?
et quant attribue tu sa valeur ?


Si la variable [stSource] n'est pas connue, Access ouvre un
inputbox et te demande la valeur... si tu donne le nom de ta
table, cela fonctionne.

Le problème est donc ailleurs !

Tu est certain des autres noms ?
Opérateur est bien texte ?


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Eric
Bonjour,

Le problème ne viendrait-il pas du fait que DSum() (et les autres)
n'acceptent que des noms de tables/requêtes et pas une instruction SQL
car d'après le 1er post stSource est une instruction SQL entre guillemets ?

Salut,

En enlevant les guillemets, il a l'air de vouloir transformer ça en
champ puisque il transforme ça en :

=SomDom("[MontantTotal]";[stSource];"[Opérateur]='BT'")

J'ai alors #Nom en erreur dans le champ en mode formulaire...



Ou déclare tu la variable ?
et quant attribue tu sa valeur ?


Si la variable [stSource] n'est pas connue, Access ouvre un
inputbox et te demande la valeur... si tu donne le nom de ta
table, cela fonctionne.

Le problème est donc ailleurs !

Tu est certain des autres noms ?
Opérateur est bien texte ?




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
3stone
Salut, Eric,

"Eric"
| Le problème ne viendrait-il pas du fait que DSum() (et les autres)
| n'acceptent que des noms de tables/requêtes et pas une instruction SQL
| car d'après le 1er post stSource est une instruction SQL entre guillemets ?


M'enfin... :-/

Voilà ce qui arrive lorsque l'on survole les questions ;-)

Evidement bien sûr, le strSource doit être le nom d'une table
ou d'une requête enregistrée...



Bon, continue tout seul, je retourne à mon CMS...

:o))

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Pierre CFI [mvp]
pas possible çà, j'arrive et que vois-je ? le beau 3stone égal à lui méme,
complétement saoul, ach soleil+bibinne is not good :o))

--
Pierre
MVP Microsoft Access
"3stone" a écrit dans le message de news:

Salut, Eric,

"Eric"
| Le problème ne viendrait-il pas du fait que DSum() (et les autres)
| n'acceptent que des noms de tables/requêtes et pas une instruction SQL
| car d'après le 1er post stSource est une instruction SQL entre
guillemets ?



M'enfin... :-/

Voilà ce qui arrive lorsque l'on survole les questions ;-)

Evidement bien sûr, le strSource doit être le nom d'une table
ou d'une requête enregistrée...



Bon, continue tout seul, je retourne à mon CMS...

:o))

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
"Pierre CFI [mvp]"
| pas possible çà, j'arrive et que vois-je ? le beau 3stone égal à lui méme,
| complétement saoul, ach soleil+bibinne is not good :o))



Tiens, qui revoilou !!!

Les requins n'ont pas voulu de ta vieille carcasse ?



Puisque tu est là, tu peux te rattraper un peux, na !

;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
fredonnon
malheureusement, stSource, variable, est une instruction SQL SELECT
BLABLA entre guillemets, qui permet d'ouvrir le formulaire avec comme
contenu la-dite requête.

Comment pourrais-je contourner le problème ?

Bonne bronzette ! (enfin vers 20h, c'est pas trop ça mais ça
recommencera demain !)

"Pierre CFI [mvp]"
| pas possible çà, j'arrive et que vois-je ? le beau 3stone égal à lui méme,
| complétement saoul, ach soleil+bibinne is not good :o))



Tiens, qui revoilou !!!

Les requins n'ont pas voulu de ta vieille carcasse ?



Puisque tu est là, tu peux te rattraper un peux, na !

;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw


Avatar
3stone
re,

a écrit
malheureusement, stSource, variable, est une instruction SQL SELECT
BLABLA entre guillemets, qui permet d'ouvrir le formulaire avec comme
contenu la-dite requête.

Comment pourrais-je contourner le problème ?

----------


Si tu ne fait pas cela à longueur de journée, tu pourrais la sauver...


CurrentDB.CreateQueryDef("TemQry", strSource)

et la supprimer après usage... c'est dans l'air du temps ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
fredonnon
Merci pour la proposition 3stone.

Je connais peu la syntaxe, mais apparemment, je suis obligé de créer
une variable pour qu'il l'accepte et j'ai l'impression que je tourne en
rond, vu que tu m'as dit plus haut que je dvais absolument rentrer une
requête ou une table dans l'instruction SomDom.

Voici mon code :

stDocName = "F_DétailGSMparListeBranche"
DoCmd.OpenForm stDocName, , , , , acHidden
'Forms.F_DétailGSMparListeBranche.RecordSource = stSource
Set qdf = CurrentDb.CreateQueryDef("Tempo", strSource)
Forms.F_DétailGSMparListeBranche.RecordSource = qdf
DoCmd.OpenForm stDocName, , , stLinkCriteria

Et voici mon champ qui génère donc toujours une erreur...

=SomDom("[MontantTotal]";"Tempo";"[Opérateur]='BT'")

Si tu peux me donner un autre petit coup de pouce, merci d'avance.
1 2