Bonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Bonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Bonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
C'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneurBonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
C'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneur
Bonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
C'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneurBonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Merci de cette premioère réponse, c'est effectivement la solution que
j'utilise pour l'instant, comme toi, je recherche plus élégant. Attendons la
suiteC'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneurBonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Merci de cette premioère réponse, c'est effectivement la solution que
j'utilise pour l'instant, comme toi, je recherche plus élégant. Attendons la
suite
C'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneur
Bonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Merci de cette premioère réponse, c'est effectivement la solution que
j'utilise pour l'instant, comme toi, je recherche plus élégant. Attendons la
suiteC'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneurBonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Bonsoir,
Il n'y a pas de suite, c'est comme ça !
Par contre, une remarque: Si j'ai bien compris, tu veux stocker dans la table client et pour chaque client le nombre de contacts de
ce client. Mais tu touches à une des limites d'Access. Comme les triggers ne sont pas supportés, tu n'as aucune garantie que tes
requêtes seront correctement exécutées et que le nombre de contacts sera juste, sauf à utiliser ADO et des BeginTrans, RollbackTrans
et CommitTrans qui inclueront la suppression et l'ajout des contacts.
Et puis, mais là, dans un environnement Acces, c'est très théorique, si plusieurs personnes modifient les contacts en même temps,
tes 3 requêtes vont se "téléscoper" et le résultat sera aléatoire.
Alors, il est peut-être plus simple et prudent d'utiliser une fonction de regroupement chaque fois que tu as besoin de ce nombre
total de contacts et de l'afficher dans un sous-formulaire qui ne contient que ça (et d'autres valeurs regroupées), car le
formulaire qui affiche cette info ne peut plus faire de mise à jour.
Mais si tu insistes vraiment, une solution possible: Toujours dans l'optique le formulaire principal affiche un client et le
sous-formulaire affiche les contacts de ce client.
Dans ton formulaire principal, tu mets ton champ "NbContacts" de ta table Client..
Et dans ton sous formulaire, évènements "Après insertion" et "Après suppression", tu mets:
Me.Parent.NbContacts = DCount("monChamp", "tableContacts", "codeClient=" & Me.codeClient)
SendKeys "+" & "{Enter}", True ' pour que la table soit immédiatement mise à jour
Toujours avec le risque (minime) que le DCount ne soit pas exécuté.
J-Pierre
"Yermak" a écrit dans le message de news:Merci de cette premioère réponse, c'est effectivement la solution que
j'utilise pour l'instant, comme toi, je recherche plus élégant. Attendons la
suiteC'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneurBonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Bonsoir,
Il n'y a pas de suite, c'est comme ça !
Par contre, une remarque: Si j'ai bien compris, tu veux stocker dans la table client et pour chaque client le nombre de contacts de
ce client. Mais tu touches à une des limites d'Access. Comme les triggers ne sont pas supportés, tu n'as aucune garantie que tes
requêtes seront correctement exécutées et que le nombre de contacts sera juste, sauf à utiliser ADO et des BeginTrans, RollbackTrans
et CommitTrans qui inclueront la suppression et l'ajout des contacts.
Et puis, mais là, dans un environnement Acces, c'est très théorique, si plusieurs personnes modifient les contacts en même temps,
tes 3 requêtes vont se "téléscoper" et le résultat sera aléatoire.
Alors, il est peut-être plus simple et prudent d'utiliser une fonction de regroupement chaque fois que tu as besoin de ce nombre
total de contacts et de l'afficher dans un sous-formulaire qui ne contient que ça (et d'autres valeurs regroupées), car le
formulaire qui affiche cette info ne peut plus faire de mise à jour.
Mais si tu insistes vraiment, une solution possible: Toujours dans l'optique le formulaire principal affiche un client et le
sous-formulaire affiche les contacts de ce client.
Dans ton formulaire principal, tu mets ton champ "NbContacts" de ta table Client..
Et dans ton sous formulaire, évènements "Après insertion" et "Après suppression", tu mets:
Me.Parent.NbContacts = DCount("monChamp", "tableContacts", "codeClient=" & Me.codeClient)
SendKeys "+" & "{Enter}", True ' pour que la table soit immédiatement mise à jour
Toujours avec le risque (minime) que le DCount ne soit pas exécuté.
J-Pierre
"Yermak" <Yermak@discussions.microsoft.com> a écrit dans le message de news: C51B5BA3-BC11-4F98-9AC1-AF3EB0C8030A@microsoft.com...
Merci de cette premioère réponse, c'est effectivement la solution que
j'utilise pour l'instant, comme toi, je recherche plus élégant. Attendons la
suite
C'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneur
Bonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
Bonsoir,
Il n'y a pas de suite, c'est comme ça !
Par contre, une remarque: Si j'ai bien compris, tu veux stocker dans la table client et pour chaque client le nombre de contacts de
ce client. Mais tu touches à une des limites d'Access. Comme les triggers ne sont pas supportés, tu n'as aucune garantie que tes
requêtes seront correctement exécutées et que le nombre de contacts sera juste, sauf à utiliser ADO et des BeginTrans, RollbackTrans
et CommitTrans qui inclueront la suppression et l'ajout des contacts.
Et puis, mais là, dans un environnement Acces, c'est très théorique, si plusieurs personnes modifient les contacts en même temps,
tes 3 requêtes vont se "téléscoper" et le résultat sera aléatoire.
Alors, il est peut-être plus simple et prudent d'utiliser une fonction de regroupement chaque fois que tu as besoin de ce nombre
total de contacts et de l'afficher dans un sous-formulaire qui ne contient que ça (et d'autres valeurs regroupées), car le
formulaire qui affiche cette info ne peut plus faire de mise à jour.
Mais si tu insistes vraiment, une solution possible: Toujours dans l'optique le formulaire principal affiche un client et le
sous-formulaire affiche les contacts de ce client.
Dans ton formulaire principal, tu mets ton champ "NbContacts" de ta table Client..
Et dans ton sous formulaire, évènements "Après insertion" et "Après suppression", tu mets:
Me.Parent.NbContacts = DCount("monChamp", "tableContacts", "codeClient=" & Me.codeClient)
SendKeys "+" & "{Enter}", True ' pour que la table soit immédiatement mise à jour
Toujours avec le risque (minime) que le DCount ne soit pas exécuté.
J-Pierre
"Yermak" a écrit dans le message de news:Merci de cette premioère réponse, c'est effectivement la solution que
j'utilise pour l'instant, comme toi, je recherche plus élégant. Attendons la
suiteC'est un problème que j'ai déjà souvent rencontré lorsue la requête utilisée
pour la mise à jour est une requête avec regroupement.
La solution que j'ai trouvé est la suivante
Je crée une table intermédioaire destinée à recevoir le résultat de la
requête avec regroupement, puis je lance trois requêtes successives
Une requête suppression qui vide la table intermédiaire
Une requête ajout qui alimente la table intermédiaire avec le résultat de la
requête avec regroupement
Une requête mise à jour entre la table intermédiaire et la table définitive
Si quelqu'un a une meilleure solution, je suis preneurBonjour,
J'essaye de mettre à jour une table avec le résultat d'une requête sur un
autre table.
La table contient le code client en clé primaire.
La requête extrait à partir de l'autre table le nombre de contacts chez le
client et renvoie le code client et le nombre de contact.
Je reçois le premier message classique me disant que je vais faire une mise
à jour de données, puis le message suivant :
"L'opération doit utiliser une requête qui peut être mise à jour" .
Merci par avance de votre aide
"J-Pierre"
[...]
| SendKeys "+" & "{Enter}", True ' pour que la table soit immédiatement mise à jour
Pouaaarrkkkk !
Me.Dirty = False
;-)
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
"J-Pierre"
[...]
| SendKeys "+" & "{Enter}", True ' pour que la table soit immédiatement mise à jour
Pouaaarrkkkk !
Me.Dirty = False
;-)
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
"J-Pierre"
[...]
| SendKeys "+" & "{Enter}", True ' pour que la table soit immédiatement mise à jour
Pouaaarrkkkk !
Me.Dirty = False
;-)
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Me.Dirty = False force la MAJ ?
Intéressant ça.....
Tu veux bien confirmer ?
--
J-Pierre
------------------------------------------------------
http://www.mpfa.info :
Le site où que j'ai dû payer pour y figurer :-(
------------------------------------------------------
Me.Dirty = False force la MAJ ?
Intéressant ça.....
Tu veux bien confirmer ?
--
J-Pierre
------------------------------------------------------
http://www.mpfa.info :
Le site où que j'ai dû payer pour y figurer :-(
------------------------------------------------------
Me.Dirty = False force la MAJ ?
Intéressant ça.....
Tu veux bien confirmer ?
--
J-Pierre
------------------------------------------------------
http://www.mpfa.info :
Le site où que j'ai dû payer pour y figurer :-(
------------------------------------------------------
Salut J-Pierre
t'as des soucis pour tester tout seul, toi grand Aspeur vaudou ? ;-)
ps : c'est quoi cette signature :-O** ?
--
Arnaud
-----------------------------------------
Vous êtes novice ? :
http://www.mpfa.info
-----------------------------------------
"J-Pierre" a écrit dans le message de news:Me.Dirty = False force la MAJ ?
Intéressant ça.....
Tu veux bien confirmer ?
--
J-Pierre
------------------------------------------------------
http://www.mpfa.info :
Le site où que j'ai dû payer pour y figurer :-(
------------------------------------------------------
Salut J-Pierre
t'as des soucis pour tester tout seul, toi grand Aspeur vaudou ? ;-)
ps : c'est quoi cette signature :-O** ?
--
Arnaud
-----------------------------------------
Vous êtes novice ? :
http://www.mpfa.info
-----------------------------------------
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> a écrit dans le message de news: ektaen7mGHA.2256@TK2MSFTNGP03.phx.gbl...
Me.Dirty = False force la MAJ ?
Intéressant ça.....
Tu veux bien confirmer ?
--
J-Pierre
------------------------------------------------------
http://www.mpfa.info :
Le site où que j'ai dû payer pour y figurer :-(
------------------------------------------------------
Salut J-Pierre
t'as des soucis pour tester tout seul, toi grand Aspeur vaudou ? ;-)
ps : c'est quoi cette signature :-O** ?
--
Arnaud
-----------------------------------------
Vous êtes novice ? :
http://www.mpfa.info
-----------------------------------------
"J-Pierre" a écrit dans le message de news:Me.Dirty = False force la MAJ ?
Intéressant ça.....
Tu veux bien confirmer ?
--
J-Pierre
------------------------------------------------------
http://www.mpfa.info :
Le site où que j'ai dû payer pour y figurer :-(
------------------------------------------------------