je travaille sur Access 2002
j'ai une base avec 3 tables:
T_Entreprise
T_Contacts
T_SuivisContacts
les relations sont les suivantes:
1 entreprise a un ou plusieurs Contacts ; 1 contact a un ou plusieurs
Suivis (les 3 tables sont donc 'en cascade')
voici mon probleme:
je souhaite pour les contacts de certaines entreprises (ici j'ai un
crit=E8re), ajouter un suivi, par exemple la commande de 25 pi=E8ces le
18/10/2005:
comment je m'y prends :
je fais une requ=EAte Mise =E0 jour, j'ins=E8re les 3 tables puisqu'elles
sont toutes concern=E9es, je modifie la propri=E9t=E9 de la jointure entre
ma T_Contacts et ma T_Suivis pour que =E7a m'affiche tous les contacts,
m=EAme ceux qui n'ont pas de Suivis (Relation Type 2)
je mets en place mes crit=E8res :
Entreprise commen=E7ant par S (par exemple)
et j'indique la mise =E0 jour voulue dans la ligne Mise =E0 jour
Date Pi=E8ce
#18/10/2005# 25 command=E9es
lorsque j'ex=E9cute la requ=EAte, Access ne met pas =E0 jour les champs
Date et Pi=E8ce, il m'invoque une violation de cl=E9!
Kezako?
=C7a veut dire que je ne peux pas ajouter un suivi =E0 mes contacts via
une requ=EAte Mise =E0 jour ?
Si je le fais '=E0 la main', =E7a fonctionne parfaitement, seulement
c'est pas le but de l'informatique ! j'aimerai comprendre ce que
j'ai mal fait car j'ai beaucoup de mise =E0 jour de ce type =E0
faire...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
rose
je précise que j'ai cherché dans les archives mais je n'ai pas trouvé la solution à mon problème.
merci de m'aider. Rose
Bonjour à tous,
je travaille sur Access 2002 j'ai une base avec 3 tables: T_Entreprise T_Contacts T_SuivisContacts
les relations sont les suivantes: 1 entreprise a un ou plusieurs Contacts ; 1 contact a un ou plusieurs Suivis (les 3 tables sont donc 'en cascade')
voici mon probleme: je souhaite pour les contacts de certaines entreprises (ici j'ai un critère), ajouter un suivi, par exemple la commande de 25 pièces le 18/10/2005:
comment je m'y prends : je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles sont toutes concernées, je modifie la propriété de la jointure entre ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts, même ceux qui n'ont pas de Suivis (Relation Type 2)
je mets en place mes critères : Entreprise commençant par S (par exemple)
et j'indique la mise à jour voulue dans la ligne Mise à jour Date Pièce #18/10/2005# 25 commandées
lorsque j'exécute la requête, Access ne met pas à jour les champs Date et Pièce, il m'invoque une violation de clé! Kezako? Ça veut dire que je ne peux pas ajouter un suivi à mes contacts via une requête Mise à jour ? Si je le fais 'à la main', ça fonctionne parfaitement, seulement c'est pas le but de l'informatique ! j'aimerai comprendre ce que j'ai mal fait car j'ai beaucoup de mise à jour de ce type à faire...
Merci d'avance pour votre aide Rose
je précise que j'ai cherché dans les archives mais je n'ai pas
trouvé la solution à mon problème.
merci de m'aider.
Rose
Bonjour à tous,
je travaille sur Access 2002
j'ai une base avec 3 tables:
T_Entreprise
T_Contacts
T_SuivisContacts
les relations sont les suivantes:
1 entreprise a un ou plusieurs Contacts ; 1 contact a un ou plusieurs
Suivis (les 3 tables sont donc 'en cascade')
voici mon probleme:
je souhaite pour les contacts de certaines entreprises (ici j'ai un
critère), ajouter un suivi, par exemple la commande de 25 pièces le
18/10/2005:
comment je m'y prends :
je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles
sont toutes concernées, je modifie la propriété de la jointure entre
ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts,
même ceux qui n'ont pas de Suivis (Relation Type 2)
je mets en place mes critères :
Entreprise commençant par S (par exemple)
et j'indique la mise à jour voulue dans la ligne Mise à jour
Date Pièce
#18/10/2005# 25 commandées
lorsque j'exécute la requête, Access ne met pas à jour les champs
Date et Pièce, il m'invoque une violation de clé!
Kezako?
Ça veut dire que je ne peux pas ajouter un suivi à mes contacts via
une requête Mise à jour ?
Si je le fais 'à la main', ça fonctionne parfaitement, seulement
c'est pas le but de l'informatique ! j'aimerai comprendre ce que
j'ai mal fait car j'ai beaucoup de mise à jour de ce type à
faire...
je précise que j'ai cherché dans les archives mais je n'ai pas trouvé la solution à mon problème.
merci de m'aider. Rose
Bonjour à tous,
je travaille sur Access 2002 j'ai une base avec 3 tables: T_Entreprise T_Contacts T_SuivisContacts
les relations sont les suivantes: 1 entreprise a un ou plusieurs Contacts ; 1 contact a un ou plusieurs Suivis (les 3 tables sont donc 'en cascade')
voici mon probleme: je souhaite pour les contacts de certaines entreprises (ici j'ai un critère), ajouter un suivi, par exemple la commande de 25 pièces le 18/10/2005:
comment je m'y prends : je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles sont toutes concernées, je modifie la propriété de la jointure entre ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts, même ceux qui n'ont pas de Suivis (Relation Type 2)
je mets en place mes critères : Entreprise commençant par S (par exemple)
et j'indique la mise à jour voulue dans la ligne Mise à jour Date Pièce #18/10/2005# 25 commandées
lorsque j'exécute la requête, Access ne met pas à jour les champs Date et Pièce, il m'invoque une violation de clé! Kezako? Ça veut dire que je ne peux pas ajouter un suivi à mes contacts via une requête Mise à jour ? Si je le fais 'à la main', ça fonctionne parfaitement, seulement c'est pas le but de l'informatique ! j'aimerai comprendre ce que j'ai mal fait car j'ai beaucoup de mise à jour de ce type à faire...
Merci d'avance pour votre aide Rose
3stone
Bonjour,
"rose" je travaille sur Access 2002 j'ai une base avec 3 tables: T_Entreprise T_Contacts T_SuivisContacts
les relations sont les suivantes: 1 entreprise a un ou plusieurs Contacts ; 1 contact a un ou plusieurs Suivis (les 3 tables sont donc 'en cascade')
voici mon probleme: je souhaite pour les contacts de certaines entreprises (ici j'ai un critère), ajouter un suivi, par exemple la commande de 25 pièces le 18/10/2005:
comment je m'y prends : je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles sont toutes concernées, je modifie la propriété de la jointure entre ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts, même ceux qui n'ont pas de Suivis (Relation Type 2) <snip>
Pourquoi n'utilise tu pas un formulaire principal "Entreprises" un sous formulaire pour les contacts et un sous-sous-formulaire pour les SuivisContacts ?
Tu pourais même, pour la saisie des suivis, remplacer le sous form Contacts par une simple liste déroulante dans le sousform Suivis...
"rose"
je travaille sur Access 2002
j'ai une base avec 3 tables:
T_Entreprise
T_Contacts
T_SuivisContacts
les relations sont les suivantes:
1 entreprise a un ou plusieurs Contacts ; 1 contact a un ou plusieurs
Suivis (les 3 tables sont donc 'en cascade')
voici mon probleme:
je souhaite pour les contacts de certaines entreprises (ici j'ai un
critère), ajouter un suivi, par exemple la commande de 25 pièces le
18/10/2005:
comment je m'y prends :
je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles
sont toutes concernées, je modifie la propriété de la jointure entre
ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts,
même ceux qui n'ont pas de Suivis (Relation Type 2)
<snip>
Pourquoi n'utilise tu pas un formulaire principal "Entreprises"
un sous formulaire pour les contacts et un sous-sous-formulaire
pour les SuivisContacts ?
Tu pourais même, pour la saisie des suivis, remplacer le sous form Contacts
par une simple liste déroulante dans le sousform Suivis...
"rose" je travaille sur Access 2002 j'ai une base avec 3 tables: T_Entreprise T_Contacts T_SuivisContacts
les relations sont les suivantes: 1 entreprise a un ou plusieurs Contacts ; 1 contact a un ou plusieurs Suivis (les 3 tables sont donc 'en cascade')
voici mon probleme: je souhaite pour les contacts de certaines entreprises (ici j'ai un critère), ajouter un suivi, par exemple la commande de 25 pièces le 18/10/2005:
comment je m'y prends : je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles sont toutes concernées, je modifie la propriété de la jointure entre ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts, même ceux qui n'ont pas de Suivis (Relation Type 2) <snip>
Pourquoi n'utilise tu pas un formulaire principal "Entreprises" un sous formulaire pour les contacts et un sous-sous-formulaire pour les SuivisContacts ?
Tu pourais même, pour la saisie des suivis, remplacer le sous form Contacts par une simple liste déroulante dans le sousform Suivis...
Pourquoi n'utilise tu pas un formulaire principal "Entreprises" un sous formulaire pour les contacts et un sous-sous-formulaire pour les SuivisContacts ?
c'est ce que j'ai fait: j'ai un formulaire principal ENTREPRISE
un sous-formulaire CONTACTS un /s sous-formulaire SUIVIS
ce qui ne marche pas, c'est la mise à jour automatique (via une requête Mise à jour) des suivis; la saisie via le /s sous-formulaire fonctionne parfaitement, mais j'ai pas envie de le faire 'à la main'
------------------------------------------------------------------------- Rose avait dit:
je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles sont toutes concernées, je modifie la propriété de la jointure entre
ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts, même ceux qui n'ont pas de Suivis (Relation Type 2)
je mets en place mes critères : Entreprise commençant par S (par exemple)
et j'indique la mise à jour voulue dans la ligne Mise à jour Date Pièce #18/10/2005# 25 commandées
lorsque j'exécute la requête, Access ne met pas à jour les champs Date et Pièce, il m'invoque une violation de clé!
Pourquoi n'utilise tu pas un formulaire principal "Entreprises"
un sous formulaire pour les contacts et un sous-sous-formulaire
pour les SuivisContacts ?
c'est ce que j'ai fait:
j'ai un formulaire principal ENTREPRISE
un sous-formulaire CONTACTS
un /s sous-formulaire SUIVIS
ce qui ne marche pas, c'est la mise à jour automatique (via une
requête Mise à jour) des suivis;
la saisie via le /s sous-formulaire fonctionne parfaitement, mais j'ai
pas envie de le faire 'à la main'
-------------------------------------------------------------------------
Rose avait dit:
je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles
sont toutes concernées, je modifie la propriété de la jointure entre
ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts,
même ceux qui n'ont pas de Suivis (Relation Type 2)
je mets en place mes critères :
Entreprise commençant par S (par exemple)
et j'indique la mise à jour voulue dans la ligne Mise à jour
Date Pièce
#18/10/2005# 25 commandées
lorsque j'exécute la requête, Access ne met pas à jour les champs
Date et Pièce, il m'invoque une violation de clé!
Pourquoi n'utilise tu pas un formulaire principal "Entreprises" un sous formulaire pour les contacts et un sous-sous-formulaire pour les SuivisContacts ?
c'est ce que j'ai fait: j'ai un formulaire principal ENTREPRISE
un sous-formulaire CONTACTS un /s sous-formulaire SUIVIS
ce qui ne marche pas, c'est la mise à jour automatique (via une requête Mise à jour) des suivis; la saisie via le /s sous-formulaire fonctionne parfaitement, mais j'ai pas envie de le faire 'à la main'
------------------------------------------------------------------------- Rose avait dit:
je fais une requête Mise à jour, j'insère les 3 tables puisqu'elles sont toutes concernées, je modifie la propriété de la jointure entre
ma T_Contacts et ma T_Suivis pour que ça m'affiche tous les contacts, même ceux qui n'ont pas de Suivis (Relation Type 2)
je mets en place mes critères : Entreprise commençant par S (par exemple)
et j'indique la mise à jour voulue dans la ligne Mise à jour Date Pièce #18/10/2005# 25 commandées
lorsque j'exécute la requête, Access ne met pas à jour les champs Date et Pièce, il m'invoque une violation de clé!
"rose" Pourquoi n'utilise tu pas un formulaire principal "Entreprises" un sous formulaire pour les contacts et un sous-sous-formulaire pour les SuivisContacts ?
c'est ce que j'ai fait: j'ai un formulaire principal ENTREPRISE
un sous-formulaire CONTACTS un /s sous-formulaire SUIVIS
ce qui ne marche pas, c'est la mise à jour automatique (via une requête Mise à jour) des suivis; la saisie via le /s sous-formulaire fonctionne parfaitement, mais j'ai pas envie de le faire 'à la main' ------
Qu'entends tu par "à la main" ?
Tu as une série de contacts qui ont le même suivi ? Tu ne tente pas une mise à jour des trois tables d'un coup, tout de même... Ta requête devrait être qque chose comme: Update tblSuivis Set champ = machin Where NoContact = xy
"rose"
Pourquoi n'utilise tu pas un formulaire principal "Entreprises"
un sous formulaire pour les contacts et un sous-sous-formulaire
pour les SuivisContacts ?
c'est ce que j'ai fait:
j'ai un formulaire principal ENTREPRISE
un sous-formulaire CONTACTS
un /s sous-formulaire SUIVIS
ce qui ne marche pas, c'est la mise à jour automatique (via une
requête Mise à jour) des suivis;
la saisie via le /s sous-formulaire fonctionne parfaitement, mais j'ai
pas envie de le faire 'à la main'
------
Qu'entends tu par "à la main" ?
Tu as une série de contacts qui ont le même suivi ?
Tu ne tente pas une mise à jour des trois tables d'un coup, tout de même...
Ta requête devrait être qque chose comme:
Update tblSuivis Set champ = machin Where NoContact = xy
"rose" Pourquoi n'utilise tu pas un formulaire principal "Entreprises" un sous formulaire pour les contacts et un sous-sous-formulaire pour les SuivisContacts ?
c'est ce que j'ai fait: j'ai un formulaire principal ENTREPRISE
un sous-formulaire CONTACTS un /s sous-formulaire SUIVIS
ce qui ne marche pas, c'est la mise à jour automatique (via une requête Mise à jour) des suivis; la saisie via le /s sous-formulaire fonctionne parfaitement, mais j'ai pas envie de le faire 'à la main' ------
Qu'entends tu par "à la main" ?
Tu as une série de contacts qui ont le même suivi ? Tu ne tente pas une mise à jour des trois tables d'un coup, tout de même... Ta requête devrait être qque chose comme: Update tblSuivis Set champ = machin Where NoContact = xy
oui c'est ça, j'ai une série de contacts qui ont le même suivi, mais ça ne dépend pas du contact, mais du nom de leur entreprise; je suis donc obligée de mettre les 3 tables, non?
le code SQL ressemble plutôt à ça:
UPDATE (T_Instituts INNER JOIN T_Contacts ON T_Instituts.Numéro = T_Contacts.T_Instituts_Numéro) INNER JOIN T_Suivi_Contacts ON T_Contacts.N°Destinataire = T_Suivi_Contacts.N°Destinataire SET T_Suivi_Contacts.DateContact = #10/21/2005# WHERE (((T_Instituts.Cible)="scac"));
qu'en penses-tu??? merci beaucoup de donner suite comme tu le fais
Rose
oui c'est ça, j'ai une série de contacts qui ont le même suivi, mais
ça ne dépend pas du contact, mais du nom de leur entreprise;
je suis donc obligée de mettre les 3 tables, non?
le code SQL ressemble plutôt à ça:
UPDATE (T_Instituts INNER JOIN T_Contacts ON T_Instituts.Numéro =
T_Contacts.T_Instituts_Numéro) INNER JOIN T_Suivi_Contacts ON
T_Contacts.N°Destinataire = T_Suivi_Contacts.N°Destinataire SET
T_Suivi_Contacts.DateContact = #10/21/2005#
WHERE (((T_Instituts.Cible)="scac"));
qu'en penses-tu???
merci beaucoup de donner suite comme tu le fais
oui c'est ça, j'ai une série de contacts qui ont le même suivi, mais ça ne dépend pas du contact, mais du nom de leur entreprise; je suis donc obligée de mettre les 3 tables, non?
le code SQL ressemble plutôt à ça:
UPDATE (T_Instituts INNER JOIN T_Contacts ON T_Instituts.Numéro = T_Contacts.T_Instituts_Numéro) INNER JOIN T_Suivi_Contacts ON T_Contacts.N°Destinataire = T_Suivi_Contacts.N°Destinataire SET T_Suivi_Contacts.DateContact = #10/21/2005# WHERE (((T_Instituts.Cible)="scac"));
qu'en penses-tu??? merci beaucoup de donner suite comme tu le fais
Rose
3stone
Bonjour Rose,
s'cuses... je t'ai oublié :-(
"rose" oui c'est ça, j'ai une série de contacts qui ont le même suivi, mais ça ne dépend pas du contact, mais du nom de leur entreprise; je suis donc obligée de mettre les 3 tables, non?
le code SQL ressemble plutôt à ça:
UPDATE (T_Instituts INNER JOIN T_Contacts ON T_Instituts.Numéro T_Contacts.T_Instituts_Numéro) INNER JOIN T_Suivi_Contacts ON T_Contacts.N°Destinataire = T_Suivi_Contacts.N°Destinataire SET T_Suivi_Contacts.DateContact = #10/21/2005# WHERE (((T_Instituts.Cible)="scac"));
qu'en penses-tu??? -------------------------
Tu dis que tu souhaite *ajouter* un suivi et... tu fais une requête de mise à jour ?
Vérifie aussi pour n'ajouter un suivi qu'à ceux qui ont un contact (Not Null)
Une requête "ajout" de suivicontact devrait ressembler à :
INSERT INTO T_SuivisContacts ( Datesuivi, Pieces ) SELECT #21/10/2005# , 25 FROM (T_Entreprises LEFT JOIN T_Contacts ON T_Entreprises.ID = T_Contacts.idEntreprise) LEFT JOIN T_SuivisContacts ON T_Contacts.IDContact = T_SuivisContacts.idContact WHERE (((T_Entreprises.NomEntreprise) Like "S*") AND ((T_Contacts.NomContact) Is Not Null));
"rose"
oui c'est ça, j'ai une série de contacts qui ont le même suivi, mais
ça ne dépend pas du contact, mais du nom de leur entreprise;
je suis donc obligée de mettre les 3 tables, non?
le code SQL ressemble plutôt à ça:
UPDATE (T_Instituts INNER JOIN T_Contacts ON T_Instituts.Numéro T_Contacts.T_Instituts_Numéro) INNER JOIN T_Suivi_Contacts ON
T_Contacts.N°Destinataire = T_Suivi_Contacts.N°Destinataire SET
T_Suivi_Contacts.DateContact = #10/21/2005#
WHERE (((T_Instituts.Cible)="scac"));
qu'en penses-tu???
-------------------------
Tu dis que tu souhaite *ajouter* un suivi et... tu fais une requête de mise à jour ?
Vérifie aussi pour n'ajouter un suivi qu'à ceux qui ont un contact (Not Null)
Une requête "ajout" de suivicontact devrait ressembler à :
INSERT INTO T_SuivisContacts ( Datesuivi, Pieces )
SELECT #21/10/2005# , 25
FROM (T_Entreprises LEFT JOIN T_Contacts ON T_Entreprises.ID = T_Contacts.idEntreprise)
LEFT JOIN T_SuivisContacts ON T_Contacts.IDContact = T_SuivisContacts.idContact
WHERE (((T_Entreprises.NomEntreprise) Like "S*") AND ((T_Contacts.NomContact) Is Not Null));
"rose" oui c'est ça, j'ai une série de contacts qui ont le même suivi, mais ça ne dépend pas du contact, mais du nom de leur entreprise; je suis donc obligée de mettre les 3 tables, non?
le code SQL ressemble plutôt à ça:
UPDATE (T_Instituts INNER JOIN T_Contacts ON T_Instituts.Numéro T_Contacts.T_Instituts_Numéro) INNER JOIN T_Suivi_Contacts ON T_Contacts.N°Destinataire = T_Suivi_Contacts.N°Destinataire SET T_Suivi_Contacts.DateContact = #10/21/2005# WHERE (((T_Instituts.Cible)="scac"));
qu'en penses-tu??? -------------------------
Tu dis que tu souhaite *ajouter* un suivi et... tu fais une requête de mise à jour ?
Vérifie aussi pour n'ajouter un suivi qu'à ceux qui ont un contact (Not Null)
Une requête "ajout" de suivicontact devrait ressembler à :
INSERT INTO T_SuivisContacts ( Datesuivi, Pieces ) SELECT #21/10/2005# , 25 FROM (T_Entreprises LEFT JOIN T_Contacts ON T_Entreprises.ID = T_Contacts.idEntreprise) LEFT JOIN T_SuivisContacts ON T_Contacts.IDContact = T_SuivisContacts.idContact WHERE (((T_Entreprises.NomEntreprise) Like "S*") AND ((T_Contacts.NomContact) Is Not Null));
en fait, tu m'as aiguillé bien avant, avec ton mail précédent quand tu m'as demandé si je n'essayais pas de faire ma requête en une seule fois... voilà, ça suffisait! je la faisais en seule fois... et quand j'ai essayé de la faire en plusieurs étapes, j'ai réussi à obtenir ce que je voulais...
j'ai d'abord fait une requête MAJ qui m'indique (via une case à cocher) les clients concernés ensuite, je fais une requête AJOUT concernant le suivi de ces clients, (c'est ici que je me trompais alors que c'est très important, surtout si j'ai déjà un suivi pour ces clients...je faisais uniquement une requête MAJ, j'oubliai l'ajout...)
merci Pierre de m'avoir aidée A bientôt (car je vois que tu es très actif sur ce forum :o))
Rose
Pierre,
en fait, tu m'as aiguillé bien avant, avec ton mail précédent quand
tu m'as demandé si je n'essayais pas de faire ma requête en une seule
fois... voilà, ça suffisait! je la faisais en seule fois... et quand
j'ai essayé de la faire en plusieurs étapes, j'ai réussi à obtenir
ce que je voulais...
j'ai d'abord fait une requête MAJ qui m'indique (via une case à
cocher) les clients concernés
ensuite, je fais une requête AJOUT concernant le suivi de ces clients,
(c'est ici que je me trompais alors que c'est très important, surtout
si j'ai déjà un suivi pour ces clients...je faisais uniquement une
requête MAJ, j'oubliai l'ajout...)
merci Pierre de m'avoir aidée
A bientôt (car je vois que tu es très actif sur ce forum :o))
en fait, tu m'as aiguillé bien avant, avec ton mail précédent quand tu m'as demandé si je n'essayais pas de faire ma requête en une seule fois... voilà, ça suffisait! je la faisais en seule fois... et quand j'ai essayé de la faire en plusieurs étapes, j'ai réussi à obtenir ce que je voulais...
j'ai d'abord fait une requête MAJ qui m'indique (via une case à cocher) les clients concernés ensuite, je fais une requête AJOUT concernant le suivi de ces clients, (c'est ici que je me trompais alors que c'est très important, surtout si j'ai déjà un suivi pour ces clients...je faisais uniquement une requête MAJ, j'oubliai l'ajout...)
merci Pierre de m'avoir aidée A bientôt (car je vois que tu es très actif sur ce forum :o))