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

SomDom mesage d'erreur

10 réponses
Avatar
larnoum
Bonjour,
Dans une macro je saisie l'instruction SQL suivante :
UPDATE Fme_T SET S_VOLCT = SomDom ("VOLCT","Fme_T","Fme_T!FME<>""")
et j'ai le message d'erreur suivant :
Fonction 'SOMDOM' non définie dans l'expression
Quelqu'un peut-il me dire pourquoi et me donner la solution
Merci par avance
--
Pierre

10 réponses

Avatar
Eric
Bonjour,

il faut remplacer SomDom par DSum


Bonjour,
Dans une macro je saisie l'instruction SQL suivante :
UPDATE Fme_T SET S_VOLCT = SomDom ("VOLCT","Fme_T","Fme_T!FME<>""")
et j'ai le message d'erreur suivant :
Fonction 'SOMDOM' non définie dans l'expression
Quelqu'un peut-il me dire pourquoi et me donner la solution
Merci par avance


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

Avatar
larnoum
Merci Eric,
Je vois que je ne suis pas le seul à travailler le samedi ;O)
Je ne voudrais pas abuser mais il me reste une erreur de syntaxe.
Peux-tu m'aider ?
Encore merci et bon WE.
--
Pierre



Bonjour,

il faut remplacer SomDom par DSum


Bonjour,
Dans une macro je saisie l'instruction SQL suivante :
UPDATE Fme_T SET S_VOLCT = SomDom ("VOLCT","Fme_T","Fme_T!FME<>""")
et j'ai le message d'erreur suivant :
Fonction 'SOMDOM' non définie dans l'expression
Quelqu'un peut-il me dire pourquoi et me donner la solution
Merci par avance


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




Avatar
Eric
re,

il y a une erreur dans le critere de DSum()
Que veux-tu faire exactement ?
la somme de VOLCT si FME est pas null ? si c'est le cas:
UPDATE Fme_T SET S_VOLCT = DSum ("VOLCT","Fme_T","Not Isnull(FME)")


Merci Eric,
Je vois que je ne suis pas le seul à travailler le samedi ;O)
Je ne voudrais pas abuser mais il me reste une erreur de syntaxe.
Peux-tu m'aider ?
Encore merci et bon WE.


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

Avatar
larnoum
Merci Eric,
J'ai du m'absenter un moment.
Je te précise me demande
Me table : Fme_T
Mes champs : FME et VOLCT
FME VOLCT
A 140
A 50
B 90
B 80
Ce que je voudrais
FME VOLCT S_VOLCT
A 140 190
A 50 190
B 90 170
B 80 170
et je n'y arrive pas J'ai bien une requête de regroupement où j'ai les bons
résultats mais je les voudrais dans ma table et non dans une requête.
Merci encore pour les réponses.
--
Pierre



re,

il y a une erreur dans le critere de DSum()
Que veux-tu faire exactement ?
la somme de VOLCT si FME est pas null ? si c'est le cas:
UPDATE Fme_T SET S_VOLCT = DSum ("VOLCT","Fme_T","Not Isnull(FME)")


Merci Eric,
Je vois que je ne suis pas le seul à travailler le samedi ;O)
Je ne voudrais pas abuser mais il me reste une erreur de syntaxe.
Peux-tu m'aider ?
Encore merci et bon WE.


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




Avatar
jt
"larnoum" a écrit dans le message de
news:
Merci Eric,
J'ai du m'absenter un moment.
Je te précise me demande
Me table : Fme_T
Mes champs : FME et VOLCT
FME VOLCT
A 140
A 50
B 90
B 80
Ce que je voudrais
FME VOLCT S_VOLCT
A 140 190
A 50 190
B 90 170
B 80 170
et je n'y arrive pas J'ai bien une requête de regroupement où j'ai les
bons
résultats mais je les voudrais dans ma table et non dans une requête.
Merci encore pour les réponses.
--
Pierre



re,

il y a une erreur dans le critere de DSum()
Que veux-tu faire exactement ?
la somme de VOLCT si FME est pas null ? si c'est le cas:
UPDATE Fme_T SET S_VOLCT = DSum ("VOLCT","Fme_T","Not Isnull(FME)")


Merci Eric,
Je vois que je ne suis pas le seul à travailler le samedi ;O)
Je ne voudrais pas abuser mais il me reste une erreur de syntaxe.
Peux-tu m'aider ?
Encore merci et bon WE.


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

Bonsoir


je crois que la solution est la suivante
UPDATE Fme_T SET Table1.S_VOLCT = DSum("[VOLCT]","Fme_T","FME='" & [FME] &
"'");

"FME='" simple quote suivi de double quote
[FME] & "'" double puis simple puis double quote



Avatar
Eric
re,

On ne stocke pas des valeurs calculées dans une table.
Par exemple, si, ultérieurement, tu rajoutes la ligne suivante dans la
table :
FME VOLCT
A 10

les résultats sont faux, à moins de relancer à chaque coup une requête
MAJ, ce qui ne me parait pas censé.

Moi je ferai tout simplement une requête, avec pour champs:
FME
VOLCT
S_VOLCT: SomDom("nz(VOLCT)";"Fme_T";"FME='" & [FME] & "'")

et cette requête te renverra toujours les bons résultats.


Merci Eric,
J'ai du m'absenter un moment.
Je te précise me demande
Me table : Fme_T
Mes champs : FME et VOLCT
FME VOLCT
A 140
A 50
B 90
B 80
Ce que je voudrais
FME VOLCT S_VOLCT
A 140 190
A 50 190
B 90 170
B 80 170
et je n'y arrive pas J'ai bien une requête de regroupement où j'ai les bons
résultats mais je les voudrais dans ma table et non dans une requête.
Merci encore pour les réponses.


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

Avatar
larnoum
Merci jt
J'ai supprimé Table. sinon il me demande de saisir le paramètre
J'ai lancé ma macro et elle travaille, il faut dire que j'ai plus de 60 000
enregistrements dans ma table.
Je vais laisser travailler et je te tiens au courant si j'obtiens le
résultat escompté
Bon WE
--
Pierre




"larnoum" a écrit dans le message de
news:
Merci Eric,
J'ai du m'absenter un moment.
Je te précise me demande
Me table : Fme_T
Mes champs : FME et VOLCT
FME VOLCT
A 140
A 50
B 90
B 80
Ce que je voudrais
FME VOLCT S_VOLCT
A 140 190
A 50 190
B 90 170
B 80 170
et je n'y arrive pas J'ai bien une requête de regroupement où j'ai les
bons
résultats mais je les voudrais dans ma table et non dans une requête.
Merci encore pour les réponses.
--
Pierre



re,

il y a une erreur dans le critere de DSum()
Que veux-tu faire exactement ?
la somme de VOLCT si FME est pas null ? si c'est le cas:
UPDATE Fme_T SET S_VOLCT = DSum ("VOLCT","Fme_T","Not Isnull(FME)")


Merci Eric,
Je vois que je ne suis pas le seul à travailler le samedi ;O)
Je ne voudrais pas abuser mais il me reste une erreur de syntaxe.
Peux-tu m'aider ?
Encore merci et bon WE.


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

Bonsoir


je crois que la solution est la suivante
UPDATE Fme_T SET Table1.S_VOLCT = DSum("[VOLCT]","Fme_T","FME='" & [FME] &
"'");

"FME='" simple quote suivi de double quote
[FME] & "'" double puis simple puis double quote








Avatar
larnoum
Encore merci
Tu as certainement raison je vais tester tout cela et je te tiens au courant
car mon PC mouline encore sur ma table de 60 000 enrgs
@+
--
Pierre



re,

On ne stocke pas des valeurs calculées dans une table.
Par exemple, si, ultérieurement, tu rajoutes la ligne suivante dans la
table :
FME VOLCT
A 10

les résultats sont faux, à moins de relancer à chaque coup une requête
MAJ, ce qui ne me parait pas censé.

Moi je ferai tout simplement une requête, avec pour champs:
FME
VOLCT
S_VOLCT: SomDom("nz(VOLCT)";"Fme_T";"FME='" & [FME] & "'")

et cette requête te renverra toujours les bons résultats.


Merci Eric,
J'ai du m'absenter un moment.
Je te précise me demande
Me table : Fme_T
Mes champs : FME et VOLCT
FME VOLCT
A 140
A 50
B 90
B 80
Ce que je voudrais
FME VOLCT S_VOLCT
A 140 190
A 50 190
B 90 170
B 80 170
et je n'y arrive pas J'ai bien une requête de regroupement où j'ai les bons
résultats mais je les voudrais dans ma table et non dans une requête.
Merci encore pour les réponses.


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




Avatar
larnoum
C'est bon j'ai mon résultat
Merci à vous deux
Bon WE
--
Pierre



re,

On ne stocke pas des valeurs calculées dans une table.
Par exemple, si, ultérieurement, tu rajoutes la ligne suivante dans la
table :
FME VOLCT
A 10

les résultats sont faux, à moins de relancer à chaque coup une requête
MAJ, ce qui ne me parait pas censé.

Moi je ferai tout simplement une requête, avec pour champs:
FME
VOLCT
S_VOLCT: SomDom("nz(VOLCT)";"Fme_T";"FME='" & [FME] & "'")

et cette requête te renverra toujours les bons résultats.


Merci Eric,
J'ai du m'absenter un moment.
Je te précise me demande
Me table : Fme_T
Mes champs : FME et VOLCT
FME VOLCT
A 140
A 50
B 90
B 80
Ce que je voudrais
FME VOLCT S_VOLCT
A 140 190
A 50 190
B 90 170
B 80 170
et je n'y arrive pas J'ai bien une requête de regroupement où j'ai les bons
résultats mais je les voudrais dans ma table et non dans une requête.
Merci encore pour les réponses.


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




Avatar
Eric
re,

Les fonctions de domaine comme DSum() sont très pénalisantes en temps.
Regardes si celle-ci n'est pas plus rapide :
FME
VOLCT
S_VOLCT: (Select sum(Volct) from Fme_T AS A where A.FME= parametre.FME)

C'est bon j'ai mon résultat
Merci à vous deux
Bon WE


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