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

req ajout ?

4 réponses
Avatar
URIANE
Bonjour j'essaie en vain de créer une requête ajout de données, donc je
prends ma table source, et je souhaite ajouter des données dans une autre
table à condition que dans cette table qui a déjà des données n'est pas
celle que je désire ajouter, la clef est donc le matricule :
J'ai sélectionné tout ce qui m'intéressait de ma table source, et ensuite
dans ajouter à j'ai sélec tout de ma table destinataire, ensuite j'ai pris
la clef de ma table destinataire je n'ai rien mis dans ajouter à, et dans
critères j'ai mis "est null", et lorsque je veux faire marcher ma requête
le système me dis "champ matricule répliqué" je suis bien obligée de le
mettre deux fois, une fois pour recevoir le matricule de ma source et une
fois pour dire qu'il faut qu'il soit null pour ajouter les données ?????
Si vous pouvez m'aider ?
Merci

4 réponses

Avatar
Raymond [mvp]
Bonjour.

dans une requête ajout, un champ ne peut apparaître qu'une seule fois.
solution:
ne pas utiliser * pour faire un ajout , mais indiquer les champs colonne par
colonne et dans la colonne matricule tu indiques le champ de destination
dans "Ajouter à" et tu indiques le critère dans critères.

Toutefois je trouve bizarre que tu testes ce champ étant donné que ta clé
est le matricule ? tu testes une valeur Null dans la table en lecture et que
va contenir matricule dans la table réception car c'est une clé et de plus
unique, je pense ?
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"URIANE" a écrit dans le message de news:
%
| Bonjour j'essaie en vain de créer une requête ajout de données, donc je
| prends ma table source, et je souhaite ajouter des données dans une autre
| table à condition que dans cette table qui a déjà des données n'est pas
| celle que je désire ajouter, la clef est donc le matricule :
| J'ai sélectionné tout ce qui m'intéressait de ma table source, et ensuite
| dans ajouter à j'ai sélec tout de ma table destinataire, ensuite j'ai pris
| la clef de ma table destinataire je n'ai rien mis dans ajouter à, et dans
| critères j'ai mis "est null", et lorsque je veux faire marcher ma requête
| le système me dis "champ matricule répliqué" je suis bien obligée de le
| mettre deux fois, une fois pour recevoir le matricule de ma source et une
| fois pour dire qu'il faut qu'il soit null pour ajouter les données ?????
| Si vous pouvez m'aider ?
| Merci
|
|
Avatar
FFO
Salut URIANE
Prends en plus de ta table source ta table de destination
Fais un lien avec le matricule en programmant la jointure de telle façon
qu'elle inclus tous les enregistrement de la table source et seulement ceux
de la table de destination qui sont égaux
Prends le champ matricule de la table destination est mets lui la condition
"Est Null"
Attention certaine manipulation alors que dans la ligne "Ajouter à" rien n'a
été saisie intègre de manière automatique un champ de destination
Ce qui provoque ce type d'erreur
Vérifies bien que pour le champ de ta condition dans "Ajouter à" rien ne s'y
est mis à ton insu
Dans cette alternative il faudra manuellement supprimer l'intrus
Je pense que tu devrais avoir ton bonheur

Dis moi !!!!


Bonjour j'essaie en vain de créer une requête ajout de données, donc je
prends ma table source, et je souhaite ajouter des données dans une autre
table à condition que dans cette table qui a déjà des données n'est pas
celle que je désire ajouter, la clef est donc le matricule :
J'ai sélectionné tout ce qui m'intéressait de ma table source, et ensuite
dans ajouter à j'ai sélec tout de ma table destinataire, ensuite j'ai pris
la clef de ma table destinataire je n'ai rien mis dans ajouter à, et dans
critères j'ai mis "est null", et lorsque je veux faire marcher ma requête
le système me dis "champ matricule répliqué" je suis bien obligée de le
mettre deux fois, une fois pour recevoir le matricule de ma source et une
fois pour dire qu'il faut qu'il soit null pour ajouter les données ?????
Si vous pouvez m'aider ?
Merci





Avatar
URIANE
Bonjour Raymond,
je n'utilise pas "*" pour ce type de requête je mets toutes mes colonnes de
ma table source et toutes les colonnes de ma table destination, le matricule
est effectivement ma clef et unique de surcroit, comme je l'explique mal je
le concois, je souhaite rapatrier toutes les données de ma table source dans
ma table destinataire qui n'existent pas dans la table destinataire, donc,
dont la clef matricule ne s'y trouve pas donc null et ça ne fonctionne pas
car dans ma table source j'ai 700 enregistrements et ma table destinataire
en compte 300 et des briquettes donc je voudrais les manquants ........
Merci
Avatar
Raymond [mvp]
il faut donc raisonner autrement et mettre en relation les deux tables par
la clé et ne prendre que les enregistrements qui manquent. ce qui doit
donner:
INSERT INTO TableDestination ( ID, Numero, Pays, Région )
SELECT TableALire.ID, TableALire.Numero, TableALire.Pays, TableALire.Région
FROM TableALire LEFT JOIN TableDestination ON TableALire.ID =
TableDestination.ID
WHERE (((TableDestination.ID) Is Null));

ID doit être le champ matricule chez toi. les noms de champs Numero, Pays,
Région sont là pour l'exemple et tu les remplaces par tes noms réels.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"URIANE" a écrit dans le message de news:

| Bonjour Raymond,
| je n'utilise pas "*" pour ce type de requête je mets toutes mes colonnes
de
| ma table source et toutes les colonnes de ma table destination, le
matricule
| est effectivement ma clef et unique de surcroit, comme je l'explique mal
je
| le concois, je souhaite rapatrier toutes les données de ma table source
dans
| ma table destinataire qui n'existent pas dans la table destinataire, donc,
| dont la clef matricule ne s'y trouve pas donc null et ça ne fonctionne pas
| car dans ma table source j'ai 700 enregistrements et ma table destinataire
| en compte 300 et des briquettes donc je voudrais les manquants ........
| Merci
|
|