Access 2K : SUMDOM avec 2 critères

Le
Mission
Bonjour tout le monde,
Dans un sous-formulaire affichant en tableau l'ensemble de l'activité pour
un client donné, j'ai besoin d'afficher à la volée la valeur cumulée des
diverses commandes de ce client.
J'ai donc pensé à un contrôle indépendant (ValeurJob) dont la valeur serait
quelque chose du genre :
=SUMDOM("[Qté] * [PuHt]";"tblTravaux";"Client = NomClient" AND "NumCommande
= Commande")
où Client et NumCommande appartiennent à tblTravaux et NomClient et Commande
sont les noms des champs du formulaire.

Mais ça ne fonctionne pas. J'ai toujours un message d'erreur à la création
et, bien sûr, à l'affichage.

Est-ce qu'une bonne âme aurait la gentillesse de me remettre sur la voie ?

Merci d'avance.

Cordialement.

PG
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ze Titi
Le #6269181
Bonjour Mission

Tu n'es pas loin:
=SUMDOM("[Qté] * [PuHt]";"tblTravaux";"Client = '" & NomClient & "' AND
NumCommande = '" & Commande & "'")

Note: retire les "'" si les champs sont numériques.

Dans ton message
Bonjour tout le monde,
Dans un sous-formulaire affichant en tableau l'ensemble de l'activité pour un
client donné, j'ai besoin d'afficher à la volée la valeur cumulée des
diverses commandes de ce client.
J'ai donc pensé à un contrôle indépendant (ValeurJob) dont la valeur serait
quelque chose du genre :
=SUMDOM("[Qté] * [PuHt]";"tblTravaux";"Client = NomClient" AND "NumCommande =
Commande")
où Client et NumCommande appartiennent à tblTravaux et NomClient et Commande
sont les noms des champs du formulaire.

Mais ça ne fonctionne pas. J'ai toujours un message d'erreur à la création
et, bien sûr, à l'affichage.

Est-ce qu'une bonne âme aurait la gentillesse de me remettre sur la voie ?

Merci d'avance.

Cordialement.

PG


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

Mission
Le #6269171
Bonjour ze Titi, et merci de ton attention.

Le "tu n'es pas loin" m'a fait plaisir.
Mais je dois avoir fait comme dans l'artillerie de marine : un coup long (le
mien), un coup court (le tien), mais je n'arrive pas envoyer le troisième au
but :-(

D'après ton aide, ma formule avec les noms de champs réels devrait être (mon
A2K est en français - si je laisse SUMDOM et AND la réponse est #nom?) :
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et "NumCommande = " & [NumCommande] & "") ==>> #Erreur avec
comme complément : La syntaxe de l'expression entrée n'est pas correcte.
Vous avez peut être entré un opérande sans opérateur.
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et NumCommande = '" & [NumCommande] & "'") me renvoie la même
chose. Message complémentaire : Erreur de syntaxe (opérateur absent) dans
l'expression 'Client = 'DUPONT' ET NumCommande ="'.

C'est à tous les coups un problème de guillemet et/ou apostrophe, mais je
les ai triturés dans tous les sens sans succès.
Tous les champs concernés sauf Client sont numériques (TempsTravail est en
heure,centièmes pas en format horaire).

Puis-je _encore_ abuser de ton amabilité ?

PG

"ze Titi" news:
Bonjour Mission

Tu n'es pas loin:
=SUMDOM("[Qté] * [PuHt]";"tblTravaux";"Client = '" & NomClient & "' AND
NumCommande = '" & Commande & "'")

Note: retire les "'" si les champs sont numériques.



Fabien
Le #6269161
Bonjour ze Titi, et merci de ton attention.

Le "tu n'es pas loin" m'a fait plaisir.
Mais je dois avoir fait comme dans l'artillerie de marine : un coup long
(le mien), un coup court (le tien), mais je n'arrive pas envoyer le
troisième au but :-(

D'après ton aide, ma formule avec les noms de champs réels devrait être
(mon A2K est en français - si je laisse SUMDOM et AND la réponse est
#nom?) :
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et "NumCommande = " & [NumCommande] & "") ==>> #Erreur
avec comme complément : La syntaxe de l'expression entrée n'est pas
correcte. Vous avez peut être entré un opérande sans opérateur.
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et NumCommande = '" & [NumCommande] & "'") me renvoie la
même chose. Message complémentaire : Erreur de syntaxe (opérateur
absent) dans l'expression 'Client = 'DUPONT' ET NumCommande ="'.

C'est à tous les coups un problème de guillemet et/ou apostrophe, mais
je les ai triturés dans tous les sens sans succès.
Tous les champs concernés sauf Client sont numériques (TempsTravail est
en heure,centièmes pas en format horaire).

Puis-je _encore_ abuser de ton amabilité ?

PG

"ze Titi" news:
Bonjour Mission

Tu n'es pas loin:
=SUMDOM("[Qté] * [PuHt]";"tblTravaux";"Client = '" & NomClient & "'
AND NumCommande = '" & Commande & "'")

Note: retire les "'" si les champs sont numériques.



Bonjour,

et avec SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client =
'" & [Client] & "' et NumCommande = " & [NumCommande])
Tu dois y être !
Courage


Fabien
Le #6269151
Bonjour ze Titi, et merci de ton attention.

Le "tu n'es pas loin" m'a fait plaisir.
Mais je dois avoir fait comme dans l'artillerie de marine : un coup
long (le mien), un coup court (le tien), mais je n'arrive pas envoyer
le troisième au but :-(

D'après ton aide, ma formule avec les noms de champs réels devrait
être (mon A2K est en français - si je laisse SUMDOM et AND la réponse
est #nom?) :
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et "NumCommande = " & [NumCommande] & "") ==>> #Erreur
avec comme complément : La syntaxe de l'expression entrée n'est pas
correcte. Vous avez peut être entré un opérande sans opérateur.
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et NumCommande = '" & [NumCommande] & "'") me renvoie la
même chose. Message complémentaire : Erreur de syntaxe (opérateur
absent) dans l'expression 'Client = 'DUPONT' ET NumCommande ="'.

C'est à tous les coups un problème de guillemet et/ou apostrophe, mais
je les ai triturés dans tous les sens sans succès.
Tous les champs concernés sauf Client sont numériques (TempsTravail
est en heure,centièmes pas en format horaire).

Puis-je _encore_ abuser de ton amabilité ?

PG

"ze Titi" news:
Bonjour Mission

Tu n'es pas loin:
=SUMDOM("[Qté] * [PuHt]";"tblTravaux";"Client = '" & NomClient & "'
AND NumCommande = '" & Commande & "'")

Note: retire les "'" si les champs sont numériques.



Bonjour,

et avec SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client =
'" & [Client] & "' et NumCommande = " & [NumCommande])
Tu dois y être !
Courage
Pour infos :

Les ' servent a encadrer un champ alphanumérique dans une requête, les "
servent a encadrer une chaine dans une concaténation.
ex :
machaine="debut de la chaine" & [un champ] & " la suite de ma chaine"
et
Monsql="Select * from [matable] where [monchampalpha]='" & [moncontrole]
& "' and [MonchampNumerique] = " & [moncontrolenumerique] & " and
[DernierchampAlpha] ='" & [derniercontrole] & "'"
et voilou



Mission
Le #6269091
Bonjour fabien,

Ben si vous y mettez à deux maintenant ... ;-)

J'ai la même #Erreur qu'avec
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et NumCommande = '" & [NumCommande] & "'") me renvoie la
même chose. Message complémentaire : Erreur de syntaxe (opérateur absent)
dans l'expression 'Client = 'DUPONT' ET NumCommande ="'.



Je viens de tenter diverses expériences, en me basant sur un "MaxDom" qui
fonctionne
En particulier, j'ai utilisé des contrôles avec des noms différents de ceux
de la table, et ça semble mieux.
Mais toujours avec un seul critère : soit le nom, soit le numcommande.
J'en arrive à me demander si SomDom accepte plusieurs critères :-(
Et si je n'aurai pas plus vite fait de trouver quelque chose en VBA. Mais je
n'en suis pas encore à la compréhension des tableaux...... Donc, soit
fouiller dans les greniers Access, soit espérer encore un coup de main.

Enfin, ce n'est pas bien grave. Je trouverai bien quelque chose.

Meci encore.

PG


ze Titi
Le #6269071
Hello Mission !

=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" & [client] & "' And NumCommande = " & [NumCommande])

Le "et" me paraissait curieux...
Ceci dit, il est certain que SomDom fonctionne avec plusieurs critères.

En ce jour mémorable du jeudi 12/04/2007, tu as entrepris la lourde tâche de taper sur ton clavier :
Bonjour fabien,

Ben si vous y mettez à deux maintenant ... ;-)

J'ai la même #Erreur qu'avec
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et NumCommande = '" & [NumCommande] & "'") me renvoie la
même chose. Message complémentaire : Erreur de syntaxe (opérateur absent)
dans l'expression 'Client = 'DUPONT' ET NumCommande ="'.



Je viens de tenter diverses expériences, en me basant sur un "MaxDom" qui
fonctionne
En particulier, j'ai utilisé des contrôles avec des noms différents de ceux
de la table, et ça semble mieux.
Mais toujours avec un seul critère : soit le nom, soit le numcommande.
J'en arrive à me demander si SomDom accepte plusieurs critères :-(
Et si je n'aurai pas plus vite fait de trouver quelque chose en VBA. Mais je
n'en suis pas encore à la compréhension des tableaux...... Donc, soit
fouiller dans les greniers Access, soit espérer encore un coup de main.

Enfin, ce n'est pas bien grave. Je trouverai bien quelque chose.

Meci encore.

PG


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info



Mission
Le #6269061
Je viens de trouver un artifice qui me conforte dans mes présomptions :
Je crée un contrôle indépentant NumComm dont la valeur est
=[Client]&[NumCommande]
Alors, je peux envoyer ça :
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"[Client] &
[NumCommande] = '" & [NumComm] & "'")
Le résultat est conforme à ce que je souhaite à ceci prêt : si [Client]
contient une apostrophe, ça coince.
Je dois encore comprendre où mettre mes " et ' pour que ça passe.

Merci à vous 2 pour votre gentillesse.

Je viens de voir le second message de Fabien et l'en remercie. Je vais
regarder ces explications de très près.

@+


"Mission" news:
Bonjour fabien,

Ben si vous y mettez à deux maintenant ... ;-)

J'ai la même #Erreur qu'avec
=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[Client] & "' et NumCommande = '" & [NumCommande] & "'") me renvoie la
même chose. Message complémentaire : Erreur de syntaxe (opérateur
absent) dans l'expression 'Client = 'DUPONT' ET NumCommande ="'.



Je viens de tenter diverses expériences, en me basant sur un "MaxDom" qui
fonctionne
En particulier, j'ai utilisé des contrôles avec des noms différents de
ceux de la table, et ça semble mieux.
Mais toujours avec un seul critère : soit le nom, soit le numcommande.
J'en arrive à me demander si SomDom accepte plusieurs critères :-(
Et si je n'aurai pas plus vite fait de trouver quelque chose en VBA. Mais
je n'en suis pas encore à la compréhension des tableaux...... Donc, soit
fouiller dans les greniers Access, soit espérer encore un coup de main.

Enfin, ce n'est pas bien grave. Je trouverai bien quelque chose.

Meci encore.

PG




Mission
Le #6269051
Je me disais aussi qu'il était impossible que tu me laisses tomber ;-)
C'est, comme pour toutes les autres aides que tu m'as déjà apportées,
superbe.
Et je t'en remercie vivement.
Je suis pourtant sûr d'avoir tenter le AND mais comme d'autres choses
devaient coincer .....
Je vais maintenant affiner ça avec un VraiFaux pour régler leur compte aux
commandes sans numéro.
Histoire de pouvoir un jour dire que j'ai créé mon bidule (presque) tout
seul :-)
Merci à toi, et à tous les "zôtres gentils contributeurs" qui nous aident à
progresser avec Access.

Cordialement.

PG

"ze Titi" news:
Hello Mission !

=SomDom("[TempsTravail] * [PuSpécialité]";"tblTravaux";"Client = '" &
[client] & "' And NumCommande = " & [NumCommande])

Le "et" me paraissait curieux...
Ceci dit, il est certain que SomDom fonctionne avec plusieurs critères.



Publicité
Poster une réponse
Anonyme