OVH Cloud OVH Cloud

SQL, clause WHERE, Table.NoAuto = Forms.MonSubform.NoAuto

5 réponses
Avatar
Céline Brien
Bonjour à tous,
Je souhaite mettre à jour plusieurs champs de l'enregistrement en cours d'un
sous-formulaire.
J'ai créé une requête voir les codes ci-après. Une macro pour exécuter cette
requête. Dans le formulaire contenant le sous-formulaire, un bouton pour
exécuter la macro.
Lors de l'exécution, la fenêtre "Entrer la valeur du paramètre" s'affiche.
L'erreur est dans la clause WHERE après le signe égal, mais OÙ ???
Merci de votre aide,
Céline

Le formulaire se nomme FEmployes
Le sous-formulaire se nomme SousFormulaireFeuilleDeTemps


UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0, FeuilleDeTemps.SiLun1 =
0, FeuilleDeTemps.SiMar1 = 0, FeuilleDeTemps.SiMer1 = 0,
FeuilleDeTemps.SiJeu1 = 0, FeuilleDeTemps.SiVen1 = 0, FeuilleDeTemps.SiSam1
= 0, FeuilleDeTemps.SiDim2 = 0, FeuilleDeTemps.SiLun2 = 0,
FeuilleDeTemps.SiMar2 = 0, FeuilleDeTemps.SiMer2 = 0, FeuilleDeTemps.SiJeu2
= 0, FeuilleDeTemps.SiVen2 = 0, FeuilleDeTemps.SiSam2 = 0
WHERE
((([FeuilleDeTemps].[NoAuto])=([Forms]![SousFormulaireFeuilleDeTemps].NoAuto)));

5 réponses

Avatar
Raymond [mvp]
Bonjour.

quand on exécute une requête par code il faut lui passer toutes les valeurs
des paramètres même s'il s'agit d'un contrôle de formulaire.
tu n'as pas besoin de passer par une macro pour lancer une procédure par
vba.
tu trouveras des exemples sur la page:
http://officesystem.access.free.fr/ex_requetes_vba.htm, prendre le modèle
requête action avec paramètres.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais osé le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"Céline Brien" a écrit dans le message de
news: %
| Bonjour à tous,
| Je souhaite mettre à jour plusieurs champs de l'enregistrement en cours
d'un
| sous-formulaire.
| J'ai créé une requête voir les codes ci-après. Une macro pour exécuter
cette
| requête. Dans le formulaire contenant le sous-formulaire, un bouton pour
| exécuter la macro.
| Lors de l'exécution, la fenêtre "Entrer la valeur du paramètre" s'affiche.
| L'erreur est dans la clause WHERE après le signe égal, mais OÙ ???
| Merci de votre aide,
| Céline
|
| Le formulaire se nomme FEmployes
| Le sous-formulaire se nomme SousFormulaireFeuilleDeTemps
|
|
| UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0, FeuilleDeTemps.SiLun1
| 0, FeuilleDeTemps.SiMar1 = 0, FeuilleDeTemps.SiMer1 = 0,
| FeuilleDeTemps.SiJeu1 = 0, FeuilleDeTemps.SiVen1 = 0,
FeuilleDeTemps.SiSam1
| = 0, FeuilleDeTemps.SiDim2 = 0, FeuilleDeTemps.SiLun2 = 0,
| FeuilleDeTemps.SiMar2 = 0, FeuilleDeTemps.SiMer2 = 0,
FeuilleDeTemps.SiJeu2
| = 0, FeuilleDeTemps.SiVen2 = 0, FeuilleDeTemps.SiSam2 = 0
| WHERE
|
((([FeuilleDeTemps].[NoAuto])=([Forms]![SousFormulaireFeuilleDeTemps].NoAuto)));
|
|
Avatar
michel
Bonjour
Essaie dans ta condition where
((([FeuilleDeTemps].[NoAuto])=([Forms]!FEmployes.form![SousFormulaireFeuilleDeTemps].NoAuto)));
Michel

"Céline Brien" a écrit dans le message de
news: %
Bonjour à tous,
Je souhaite mettre à jour plusieurs champs de l'enregistrement en cours
d'un sous-formulaire.
J'ai créé une requête voir les codes ci-après. Une macro pour exécuter
cette requête. Dans le formulaire contenant le sous-formulaire, un bouton
pour exécuter la macro.
Lors de l'exécution, la fenêtre "Entrer la valeur du paramètre" s'affiche.
L'erreur est dans la clause WHERE après le signe égal, mais OÙ ???
Merci de votre aide,
Céline

Le formulaire se nomme FEmployes
Le sous-formulaire se nomme SousFormulaireFeuilleDeTemps


UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0, FeuilleDeTemps.SiLun1
= 0, FeuilleDeTemps.SiMar1 = 0, FeuilleDeTemps.SiMer1 = 0,
FeuilleDeTemps.SiJeu1 = 0, FeuilleDeTemps.SiVen1 = 0,
FeuilleDeTemps.SiSam1 = 0, FeuilleDeTemps.SiDim2 = 0,
FeuilleDeTemps.SiLun2 = 0, FeuilleDeTemps.SiMar2 = 0,
FeuilleDeTemps.SiMer2 = 0, FeuilleDeTemps.SiJeu2 = 0,
FeuilleDeTemps.SiVen2 = 0, FeuilleDeTemps.SiSam2 = 0
WHERE
((([FeuilleDeTemps].[NoAuto])=([Forms]![SousFormulaireFeuilleDeTemps].NoAuto)));



Avatar
Céline Brien
Bonjour à tous,
Bonjour Michel,
Merci pour ta réponse.
Malheureusement, même résultat.
Quelqu'un a une autre suggestion ??
Merci encore,
Céline
------------
UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0, FeuilleDeTemps.SiLun1 =
0, FeuilleDeTemps.SiMar1 = 0, FeuilleDeTemps.SiMer1 = 0,
FeuilleDeTemps.SiJeu1 = 0, FeuilleDeTemps.SiVen1 = 0, FeuilleDeTemps.SiSam1
= 0, FeuilleDeTemps.SiDim2 = 0, FeuilleDeTemps.SiLun2 = 0,
FeuilleDeTemps.SiMar2 = 0, FeuilleDeTemps.SiMer2 = 0, FeuilleDeTemps.SiJeu2
= 0, FeuilleDeTemps.SiVen2 = 0, FeuilleDeTemps.SiSam2 = 0
WHERE
((([FeuilleDeTemps].[NoAuto])=([Forms]![FEmployes].Form!SousFormulaireFeuilleDeTemps.NoAuto)));


"michel" a écrit dans le message de
news: OtYqf$
Bonjour
Essaie dans ta condition where
((([FeuilleDeTemps].[NoAuto])=([Forms]!FEmployes.form![SousFormulaireFeuilleDeTemps].NoAuto)));
Michel

"Céline Brien" a écrit dans le message de
news: %
Bonjour à tous,
Je souhaite mettre à jour plusieurs champs de l'enregistrement en cours
d'un sous-formulaire.
J'ai créé une requête voir les codes ci-après. Une macro pour exécuter
cette requête. Dans le formulaire contenant le sous-formulaire, un bouton
pour exécuter la macro.
Lors de l'exécution, la fenêtre "Entrer la valeur du paramètre"
s'affiche.
L'erreur est dans la clause WHERE après le signe égal, mais OÙ ???
Merci de votre aide,
Céline

Le formulaire se nomme FEmployes
Le sous-formulaire se nomme SousFormulaireFeuilleDeTemps


UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0,
FeuilleDeTemps.SiLun1 = 0, FeuilleDeTemps.SiMar1 = 0,
FeuilleDeTemps.SiMer1 = 0, FeuilleDeTemps.SiJeu1 = 0,
FeuilleDeTemps.SiVen1 = 0, FeuilleDeTemps.SiSam1 = 0,
FeuilleDeTemps.SiDim2 = 0, FeuilleDeTemps.SiLun2 = 0,
FeuilleDeTemps.SiMar2 = 0, FeuilleDeTemps.SiMer2 = 0,
FeuilleDeTemps.SiJeu2 = 0, FeuilleDeTemps.SiVen2 = 0,
FeuilleDeTemps.SiSam2 = 0
WHERE
((([FeuilleDeTemps].[NoAuto])=([Forms]![SousFormulaireFeuilleDeTemps].NoAuto)));







Avatar
Céline Brien
Bonjour à tous,
Bonjour Raymond,
Merci pour la réponse.
Je vais étudier le tout et je vous reviens.
Céline

"Raymond [mvp]" a écrit dans le message
de news:
Bonjour.

quand on exécute une requête par code il faut lui passer toutes les
valeurs
des paramètres même s'il s'agit d'un contrôle de formulaire.
tu n'as pas besoin de passer par une macro pour lancer une procédure par
vba.
tu trouveras des exemples sur la page:
http://officesystem.access.free.fr/ex_requetes_vba.htm, prendre le modèle
requête action avec paramètres.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais osé le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"Céline Brien" a écrit dans le message de
news: %
| Bonjour à tous,
| Je souhaite mettre à jour plusieurs champs de l'enregistrement en cours
d'un
| sous-formulaire.
| J'ai créé une requête voir les codes ci-après. Une macro pour exécuter
cette
| requête. Dans le formulaire contenant le sous-formulaire, un bouton pour
| exécuter la macro.
| Lors de l'exécution, la fenêtre "Entrer la valeur du paramètre"
s'affiche.
| L'erreur est dans la clause WHERE après le signe égal, mais OÙ ???
| Merci de votre aide,
| Céline
|
| Le formulaire se nomme FEmployes
| Le sous-formulaire se nomme SousFormulaireFeuilleDeTemps
|
|
| UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0,
FeuilleDeTemps.SiLun1
| 0, FeuilleDeTemps.SiMar1 = 0, FeuilleDeTemps.SiMer1 = 0,
| FeuilleDeTemps.SiJeu1 = 0, FeuilleDeTemps.SiVen1 = 0,

FeuilleDeTemps.SiSam1
| = 0, FeuilleDeTemps.SiDim2 = 0, FeuilleDeTemps.SiLun2 = 0,
| FeuilleDeTemps.SiMar2 = 0, FeuilleDeTemps.SiMer2 = 0,
FeuilleDeTemps.SiJeu2
| = 0, FeuilleDeTemps.SiVen2 = 0, FeuilleDeTemps.SiSam2 = 0
| WHERE
|
((([FeuilleDeTemps].[NoAuto])=([Forms]![SousFormulaireFeuilleDeTemps].NoAuto)));
|
|





Avatar
Céline Brien
Bonjour à tous,
Avec votre aide et plusieurs tests, ça marche !
Merci,
Céline

"Céline Brien" a écrit dans le message de
news:
Bonjour à tous,
Bonjour Michel,
Merci pour ta réponse.
Malheureusement, même résultat.
Quelqu'un a une autre suggestion ??
Merci encore,
Céline
------------
UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0, FeuilleDeTemps.SiLun1
= 0, FeuilleDeTemps.SiMar1 = 0, FeuilleDeTemps.SiMer1 = 0,
FeuilleDeTemps.SiJeu1 = 0, FeuilleDeTemps.SiVen1 = 0,
FeuilleDeTemps.SiSam1 = 0, FeuilleDeTemps.SiDim2 = 0,
FeuilleDeTemps.SiLun2 = 0, FeuilleDeTemps.SiMar2 = 0,
FeuilleDeTemps.SiMer2 = 0, FeuilleDeTemps.SiJeu2 = 0,
FeuilleDeTemps.SiVen2 = 0, FeuilleDeTemps.SiSam2 = 0
WHERE
((([FeuilleDeTemps].[NoAuto])=([Forms]![FEmployes].Form!SousFormulaireFeuilleDeTemps.NoAuto)));


"michel" a écrit dans le message de
news: OtYqf$
Bonjour
Essaie dans ta condition where
((([FeuilleDeTemps].[NoAuto])=([Forms]!FEmployes.form![SousFormulaireFeuilleDeTemps].NoAuto)));
Michel

"Céline Brien" a écrit dans le message de
news: %
Bonjour à tous,
Je souhaite mettre à jour plusieurs champs de l'enregistrement en cours
d'un sous-formulaire.
J'ai créé une requête voir les codes ci-après. Une macro pour exécuter
cette requête. Dans le formulaire contenant le sous-formulaire, un
bouton pour exécuter la macro.
Lors de l'exécution, la fenêtre "Entrer la valeur du paramètre"
s'affiche.
L'erreur est dans la clause WHERE après le signe égal, mais OÙ ???
Merci de votre aide,
Céline

Le formulaire se nomme FEmployes
Le sous-formulaire se nomme SousFormulaireFeuilleDeTemps


UPDATE FeuilleDeTemps SET FeuilleDeTemps.SiDim1 = 0,
FeuilleDeTemps.SiLun1 = 0, FeuilleDeTemps.SiMar1 = 0,
FeuilleDeTemps.SiMer1 = 0, FeuilleDeTemps.SiJeu1 = 0,
FeuilleDeTemps.SiVen1 = 0, FeuilleDeTemps.SiSam1 = 0,
FeuilleDeTemps.SiDim2 = 0, FeuilleDeTemps.SiLun2 = 0,
FeuilleDeTemps.SiMar2 = 0, FeuilleDeTemps.SiMer2 = 0,
FeuilleDeTemps.SiJeu2 = 0, FeuilleDeTemps.SiVen2 = 0,
FeuilleDeTemps.SiSam2 = 0
WHERE
((([FeuilleDeTemps].[NoAuto])=([Forms]![SousFormulaireFeuilleDeTemps].NoAuto)));