Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans la
table d'origine il y a une clef prim numauto et dans celle d'arrivée aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans la
table d'origine il y a une clef prim numauto et dans celle d'arrivée aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans la
table d'origine il y a une clef prim numauto et dans celle d'arrivée aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans la
table d'origine il y a une clef prim numauto et dans celle d'arrivée aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans la
table d'origine il y a une clef prim numauto et dans celle d'arrivée aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans la
table d'origine il y a une clef prim numauto et dans celle d'arrivée aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
Bonjour François,
Je comprends pas ta remarque relative aux clés primaires numauto. A un
moment donné un numauto de la 1ere table peut être égal à un numauto de
la 2ème. Si ce numauto n'est pas utilisé à d'autres fins que d'avoir une
clé primaire dans la table recevant les enregistrements, laisses-le se
gérer lui-même dans cette table.
Pour faire ce que tu veux, partons d'un exemple:
Table B1
LeNum LeNom LePrenom
1 BLANC Pierre
2 NOIR Roger
3 MARTIN Alain
4 DUPONT Luc
Table B2
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
On souhaite ajouter à la table B2 les enregistrements de la table B1
mais sans avoir, à l'issue de l'ajout, des doublons dans la table B2,
donc ici ajouter seulement NOIR Roger et MARTIN Alain
Tu peux le faire avec le SQL suivant:
INSERT INTO B2(LeNom,LePrenom)
SELECT LeNom, LePrenom
FROM B1
WHERE b1.LeNom & b1.leprenom NOT IN (SELECT b2.LeNom & b2.leprenom FROM
b2)
Résultat obtenu pour la table B2:
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
5 NOIR Roger
6 MARTIN Alain
Cela répond-il à ta question?Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que
les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans
la
table d'origine il y a une clef prim numauto et dans celle d'arrivée
aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour François,
Je comprends pas ta remarque relative aux clés primaires numauto. A un
moment donné un numauto de la 1ere table peut être égal à un numauto de
la 2ème. Si ce numauto n'est pas utilisé à d'autres fins que d'avoir une
clé primaire dans la table recevant les enregistrements, laisses-le se
gérer lui-même dans cette table.
Pour faire ce que tu veux, partons d'un exemple:
Table B1
LeNum LeNom LePrenom
1 BLANC Pierre
2 NOIR Roger
3 MARTIN Alain
4 DUPONT Luc
Table B2
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
On souhaite ajouter à la table B2 les enregistrements de la table B1
mais sans avoir, à l'issue de l'ajout, des doublons dans la table B2,
donc ici ajouter seulement NOIR Roger et MARTIN Alain
Tu peux le faire avec le SQL suivant:
INSERT INTO B2(LeNom,LePrenom)
SELECT LeNom, LePrenom
FROM B1
WHERE b1.LeNom & b1.leprenom NOT IN (SELECT b2.LeNom & b2.leprenom FROM
b2)
Résultat obtenu pour la table B2:
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
5 NOIR Roger
6 MARTIN Alain
Cela répond-il à ta question?
Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que
les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans
la
table d'origine il y a une clef prim numauto et dans celle d'arrivée
aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour François,
Je comprends pas ta remarque relative aux clés primaires numauto. A un
moment donné un numauto de la 1ere table peut être égal à un numauto de
la 2ème. Si ce numauto n'est pas utilisé à d'autres fins que d'avoir une
clé primaire dans la table recevant les enregistrements, laisses-le se
gérer lui-même dans cette table.
Pour faire ce que tu veux, partons d'un exemple:
Table B1
LeNum LeNom LePrenom
1 BLANC Pierre
2 NOIR Roger
3 MARTIN Alain
4 DUPONT Luc
Table B2
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
On souhaite ajouter à la table B2 les enregistrements de la table B1
mais sans avoir, à l'issue de l'ajout, des doublons dans la table B2,
donc ici ajouter seulement NOIR Roger et MARTIN Alain
Tu peux le faire avec le SQL suivant:
INSERT INTO B2(LeNom,LePrenom)
SELECT LeNom, LePrenom
FROM B1
WHERE b1.LeNom & b1.leprenom NOT IN (SELECT b2.LeNom & b2.leprenom FROM
b2)
Résultat obtenu pour la table B2:
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
5 NOIR Roger
6 MARTIN Alain
Cela répond-il à ta question?Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que
les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans
la
table d'origine il y a une clef prim numauto et dans celle d'arrivée
aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Et merci pour la réponse, super rapide d'ailleurs, bon je n'ai pas tapé
directement en sql, j'ai fais une requête ajout qui donne le code sql
suivant :
PARAMETERS [quelle année ?] Text ( 255 ), [Quel numéro d'arrêté ?] Text (
255 );
INSERT INTO [arrêtés sub extra] ( année, FK_DG_extra, objet, montant, [N°
arrêté], [N° d'ordre bénéficiaire] ) IN 'U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb'
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].fk_Code_DG,
[T-INSCRIPTION].Objet, [T-INSCRIPTION].[Montant octroyé],
[T-INSCRIPTION].[N° Arrêté], [T-INSCRIPTION].num_beneficiaire
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[Quelle année ?]) AND (([T-INSCRIPTION].[N°
Arrêté])=[Quel numéro d'arrêté ?]));
Si j'ai bien compris je devrais en faire un truc comme :
PARAMETERS [quelle année ?] Text ( 255 ), [Quel numéro d'arrêté ?] Text (
255 );
INSERT INTO [arrêtés sub extra] ( année, FK_DG_extra, objet, montant, [N°
arrêté], [N° d'ordre bénéficiaire] ) IN 'U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb'
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].fk_Code_DG,
[T-INSCRIPTION].Objet, [T-INSCRIPTION].[Montant octroyé],
[T-INSCRIPTION].[N° Arrêté], [T-INSCRIPTION].num_beneficiaire
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[Quelle année ?]) AND (([T-INSCRIPTION].[N°
Arrêté])=[Quel numéro d'arrêté ?]));
WHERE [T-INSCRIPTION].Année &" "& [T-INSCRIPTION].fk_Code_DG &" "&
[T-INSCRIPTION].Objet &" "& [T-INSCRIPTION].[Montant octroyé] &" "&
[T-INSCRIPTION].[N° Arrêté] &" "& [T-INSCRIPTION].num_beneficiaire NOT IN
([U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].Année &" "& U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].FK_DG_extra &" "&
[U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].objet &" "& [U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].montant &" "&
[U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].N° arrêté &" "& [U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].N° d'ordre bénéficiaire)
Est-ce que ça a l'air d'aller dans le bon sens ? C'est un peu laborieux ;o)
Et si tu veux bien me dire comment je peux relier les deux morceaux WHERE en
un...
Merci
"Eric" a écrit dans le message de
news:Bonjour François,
Je comprends pas ta remarque relative aux clés primaires numauto. A un
moment donné un numauto de la 1ere table peut être égal à un numauto de
la 2ème. Si ce numauto n'est pas utilisé à d'autres fins que d'avoir une
clé primaire dans la table recevant les enregistrements, laisses-le se
gérer lui-même dans cette table.
Pour faire ce que tu veux, partons d'un exemple:
Table B1
LeNum LeNom LePrenom
1 BLANC Pierre
2 NOIR Roger
3 MARTIN Alain
4 DUPONT Luc
Table B2
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
On souhaite ajouter à la table B2 les enregistrements de la table B1
mais sans avoir, à l'issue de l'ajout, des doublons dans la table B2,
donc ici ajouter seulement NOIR Roger et MARTIN Alain
Tu peux le faire avec le SQL suivant:
INSERT INTO B2(LeNom,LePrenom)
SELECT LeNom, LePrenom
FROM B1
WHERE b1.LeNom & b1.leprenom NOT IN (SELECT b2.LeNom & b2.leprenom FROM
b2)Résultat obtenu pour la table B2:
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
5 NOIR Roger
6 MARTIN Alain
Cela répond-il à ta question?Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que
lesenregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans
latable d'origine il y a une clef prim numauto et dans celle d'arrivée
aussi.Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
--
A+
Eric
http://www.mpfa.info/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Et merci pour la réponse, super rapide d'ailleurs, bon je n'ai pas tapé
directement en sql, j'ai fais une requête ajout qui donne le code sql
suivant :
PARAMETERS [quelle année ?] Text ( 255 ), [Quel numéro d'arrêté ?] Text (
255 );
INSERT INTO [arrêtés sub extra] ( année, FK_DG_extra, objet, montant, [N°
arrêté], [N° d'ordre bénéficiaire] ) IN 'U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb'
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].fk_Code_DG,
[T-INSCRIPTION].Objet, [T-INSCRIPTION].[Montant octroyé],
[T-INSCRIPTION].[N° Arrêté], [T-INSCRIPTION].num_beneficiaire
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[Quelle année ?]) AND (([T-INSCRIPTION].[N°
Arrêté])=[Quel numéro d'arrêté ?]));
Si j'ai bien compris je devrais en faire un truc comme :
PARAMETERS [quelle année ?] Text ( 255 ), [Quel numéro d'arrêté ?] Text (
255 );
INSERT INTO [arrêtés sub extra] ( année, FK_DG_extra, objet, montant, [N°
arrêté], [N° d'ordre bénéficiaire] ) IN 'U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb'
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].fk_Code_DG,
[T-INSCRIPTION].Objet, [T-INSCRIPTION].[Montant octroyé],
[T-INSCRIPTION].[N° Arrêté], [T-INSCRIPTION].num_beneficiaire
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[Quelle année ?]) AND (([T-INSCRIPTION].[N°
Arrêté])=[Quel numéro d'arrêté ?]));
WHERE [T-INSCRIPTION].Année &" "& [T-INSCRIPTION].fk_Code_DG &" "&
[T-INSCRIPTION].Objet &" "& [T-INSCRIPTION].[Montant octroyé] &" "&
[T-INSCRIPTION].[N° Arrêté] &" "& [T-INSCRIPTION].num_beneficiaire NOT IN
([U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].Année &" "& U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].FK_DG_extra &" "&
[U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].objet &" "& [U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].montant &" "&
[U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].N° arrêté &" "& [U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].N° d'ordre bénéficiaire)
Est-ce que ça a l'air d'aller dans le bon sens ? C'est un peu laborieux ;o)
Et si tu veux bien me dire comment je peux relier les deux morceaux WHERE en
un...
Merci
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:ORd04lxqGHA.1852@TK2MSFTNGP03.phx.gbl...
Bonjour François,
Je comprends pas ta remarque relative aux clés primaires numauto. A un
moment donné un numauto de la 1ere table peut être égal à un numauto de
la 2ème. Si ce numauto n'est pas utilisé à d'autres fins que d'avoir une
clé primaire dans la table recevant les enregistrements, laisses-le se
gérer lui-même dans cette table.
Pour faire ce que tu veux, partons d'un exemple:
Table B1
LeNum LeNom LePrenom
1 BLANC Pierre
2 NOIR Roger
3 MARTIN Alain
4 DUPONT Luc
Table B2
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
On souhaite ajouter à la table B2 les enregistrements de la table B1
mais sans avoir, à l'issue de l'ajout, des doublons dans la table B2,
donc ici ajouter seulement NOIR Roger et MARTIN Alain
Tu peux le faire avec le SQL suivant:
INSERT INTO B2(LeNom,LePrenom)
SELECT LeNom, LePrenom
FROM B1
WHERE b1.LeNom & b1.leprenom NOT IN (SELECT b2.LeNom & b2.leprenom FROM
b2)
Résultat obtenu pour la table B2:
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
5 NOIR Roger
6 MARTIN Alain
Cela répond-il à ta question?
Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que
les
enregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans
la
table d'origine il y a une clef prim numauto et dans celle d'arrivée
aussi.
Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Et merci pour la réponse, super rapide d'ailleurs, bon je n'ai pas tapé
directement en sql, j'ai fais une requête ajout qui donne le code sql
suivant :
PARAMETERS [quelle année ?] Text ( 255 ), [Quel numéro d'arrêté ?] Text (
255 );
INSERT INTO [arrêtés sub extra] ( année, FK_DG_extra, objet, montant, [N°
arrêté], [N° d'ordre bénéficiaire] ) IN 'U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb'
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].fk_Code_DG,
[T-INSCRIPTION].Objet, [T-INSCRIPTION].[Montant octroyé],
[T-INSCRIPTION].[N° Arrêté], [T-INSCRIPTION].num_beneficiaire
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[Quelle année ?]) AND (([T-INSCRIPTION].[N°
Arrêté])=[Quel numéro d'arrêté ?]));
Si j'ai bien compris je devrais en faire un truc comme :
PARAMETERS [quelle année ?] Text ( 255 ), [Quel numéro d'arrêté ?] Text (
255 );
INSERT INTO [arrêtés sub extra] ( année, FK_DG_extra, objet, montant, [N°
arrêté], [N° d'ordre bénéficiaire] ) IN 'U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb'
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].fk_Code_DG,
[T-INSCRIPTION].Objet, [T-INSCRIPTION].[Montant octroyé],
[T-INSCRIPTION].[N° Arrêté], [T-INSCRIPTION].num_beneficiaire
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[Quelle année ?]) AND (([T-INSCRIPTION].[N°
Arrêté])=[Quel numéro d'arrêté ?]));
WHERE [T-INSCRIPTION].Année &" "& [T-INSCRIPTION].fk_Code_DG &" "&
[T-INSCRIPTION].Objet &" "& [T-INSCRIPTION].[Montant octroyé] &" "&
[T-INSCRIPTION].[N° Arrêté] &" "& [T-INSCRIPTION].num_beneficiaire NOT IN
([U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].Année &" "& U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].FK_DG_extra &" "&
[U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].objet &" "& [U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].montant &" "&
[U:DAJEPJEUNESSEBase de données GlobaleZONE DE
TEST18-7testandré.mdb].N° arrêté &" "& [U:DAJEPJEUNESSEBase de données
GlobaleZONE DE TEST18-7testandré.mdb].N° d'ordre bénéficiaire)
Est-ce que ça a l'air d'aller dans le bon sens ? C'est un peu laborieux ;o)
Et si tu veux bien me dire comment je peux relier les deux morceaux WHERE en
un...
Merci
"Eric" a écrit dans le message de
news:Bonjour François,
Je comprends pas ta remarque relative aux clés primaires numauto. A un
moment donné un numauto de la 1ere table peut être égal à un numauto de
la 2ème. Si ce numauto n'est pas utilisé à d'autres fins que d'avoir une
clé primaire dans la table recevant les enregistrements, laisses-le se
gérer lui-même dans cette table.
Pour faire ce que tu veux, partons d'un exemple:
Table B1
LeNum LeNom LePrenom
1 BLANC Pierre
2 NOIR Roger
3 MARTIN Alain
4 DUPONT Luc
Table B2
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
On souhaite ajouter à la table B2 les enregistrements de la table B1
mais sans avoir, à l'issue de l'ajout, des doublons dans la table B2,
donc ici ajouter seulement NOIR Roger et MARTIN Alain
Tu peux le faire avec le SQL suivant:
INSERT INTO B2(LeNom,LePrenom)
SELECT LeNom, LePrenom
FROM B1
WHERE b1.LeNom & b1.leprenom NOT IN (SELECT b2.LeNom & b2.leprenom FROM
b2)Résultat obtenu pour la table B2:
LeNum LeNom LePrenom
1 DUPONT Luc
2 DUBOIS Jean
3 MARTIN Eric
4 BLANC Pierre
5 NOIR Roger
6 MARTIN Alain
Cela répond-il à ta question?Bonjour,
Je souhaite réaliser une requête d'ajout qui vérifie avant l'ajout que
lesenregistrements ajoutés ne sont pas déjà présent dans la table.
J'ai trouvé ce tuto
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap16.htm (point 4)
mais je ne comprends pas comment "créer un index sans doublons sur les
champs de la première table communs avec ceux de la seconde table". Dans
latable d'origine il y a une clef prim numauto et dans celle d'arrivée
aussi.Le clef prim ne porte donc pas les mêmes numéros.
Quelqu'un connaît-il la marche à suivre ?
Merci pour votre aide et bonne journée
François
--
A+
Eric
http://www.mpfa.info/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../...
A tester sur une copie de la bd à mettre à jour évidemment
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../...
A tester sur une copie de la bd à mettre à jour évidemment
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../...
A tester sur une copie de la bd à mettre à jour évidemment
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Re-salut,
J'ai importer les tables au même endroit, au moins pour le test, et j'ai le
code de départ suivant :
INSERT INTO [arrêtés sub extra1] ( année, objet, [N° arrêté], FK_DG_extra,
montant, [N° d'ordre bénéficiaire] )
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].Objet, [T-INSCRIPTION].[N°
arrêté], [T-INSCRIPTION].FK_DG_extra, [T-INSCRIPTION].Montant,
[T-INSCRIPTION].[N° d'ordre bénéficiaire]
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[année ?]) AND (([T-INSCRIPTION].[N°
arrêté])=[arrêté ?]));
Ca fonctionne pour l'exportation de donnéese mais l'ajout du code pour
vérification de doublon provoque une erreur de syntaxe
INSERT INTO [arrêtés sub extra1] ( année, objet, [N° arrêté], FK_DG_extra,
montant, [N° d'ordre bénéficiaire] )
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].Objet, [T-INSCRIPTION].[N°
arrêté], [T-INSCRIPTION].FK_DG_extra, [T-INSCRIPTION].Montant,
[T-INSCRIPTION].[N° d'ordre bénéficiaire]
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[année ?]) AND (([T-INSCRIPTION].[N°
arrêté])=[arrêté ?]) AND (([T-INSCRIPTION].Année &" "&
[T-INSCRIPTION].Objet &" "& [T-INSCRIPTION].[N° arrêté] &" "&
[T-INSCRIPTION].FK_DG_extra &" "& [T-INSCRIPTION].Montant &" "&
[T-INSCRIPTION].[N° d'ordre bénéficiaire]) NOT IN (SELECT année &" "& objet
&" "& [N° arrêté] &" "& FK_DG_extra &" "& montant &" "& [N° d'ordre
bénéficiaire] FROM [arrêtés sub extra1]));
Je me demande si ce n'est pas qu'un problème de parenthèses (auquel je ne
comprends pas grand chose) dans lequel je me perds à force de tenter des
modifs...
Puis-je te, vous, demander un avis sur la question ?
Merci
Re-salut,
J'ai importer les tables au même endroit, au moins pour le test, et j'ai le
code de départ suivant :
INSERT INTO [arrêtés sub extra1] ( année, objet, [N° arrêté], FK_DG_extra,
montant, [N° d'ordre bénéficiaire] )
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].Objet, [T-INSCRIPTION].[N°
arrêté], [T-INSCRIPTION].FK_DG_extra, [T-INSCRIPTION].Montant,
[T-INSCRIPTION].[N° d'ordre bénéficiaire]
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[année ?]) AND (([T-INSCRIPTION].[N°
arrêté])=[arrêté ?]));
Ca fonctionne pour l'exportation de donnéese mais l'ajout du code pour
vérification de doublon provoque une erreur de syntaxe
INSERT INTO [arrêtés sub extra1] ( année, objet, [N° arrêté], FK_DG_extra,
montant, [N° d'ordre bénéficiaire] )
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].Objet, [T-INSCRIPTION].[N°
arrêté], [T-INSCRIPTION].FK_DG_extra, [T-INSCRIPTION].Montant,
[T-INSCRIPTION].[N° d'ordre bénéficiaire]
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[année ?]) AND (([T-INSCRIPTION].[N°
arrêté])=[arrêté ?]) AND (([T-INSCRIPTION].Année &" "&
[T-INSCRIPTION].Objet &" "& [T-INSCRIPTION].[N° arrêté] &" "&
[T-INSCRIPTION].FK_DG_extra &" "& [T-INSCRIPTION].Montant &" "&
[T-INSCRIPTION].[N° d'ordre bénéficiaire]) NOT IN (SELECT année &" "& objet
&" "& [N° arrêté] &" "& FK_DG_extra &" "& montant &" "& [N° d'ordre
bénéficiaire] FROM [arrêtés sub extra1]));
Je me demande si ce n'est pas qu'un problème de parenthèses (auquel je ne
comprends pas grand chose) dans lequel je me perds à force de tenter des
modifs...
Puis-je te, vous, demander un avis sur la question ?
Merci
Re-salut,
J'ai importer les tables au même endroit, au moins pour le test, et j'ai le
code de départ suivant :
INSERT INTO [arrêtés sub extra1] ( année, objet, [N° arrêté], FK_DG_extra,
montant, [N° d'ordre bénéficiaire] )
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].Objet, [T-INSCRIPTION].[N°
arrêté], [T-INSCRIPTION].FK_DG_extra, [T-INSCRIPTION].Montant,
[T-INSCRIPTION].[N° d'ordre bénéficiaire]
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[année ?]) AND (([T-INSCRIPTION].[N°
arrêté])=[arrêté ?]));
Ca fonctionne pour l'exportation de donnéese mais l'ajout du code pour
vérification de doublon provoque une erreur de syntaxe
INSERT INTO [arrêtés sub extra1] ( année, objet, [N° arrêté], FK_DG_extra,
montant, [N° d'ordre bénéficiaire] )
SELECT [T-INSCRIPTION].Année, [T-INSCRIPTION].Objet, [T-INSCRIPTION].[N°
arrêté], [T-INSCRIPTION].FK_DG_extra, [T-INSCRIPTION].Montant,
[T-INSCRIPTION].[N° d'ordre bénéficiaire]
FROM [T-INSCRIPTION]
WHERE ((([T-INSCRIPTION].Année)=[année ?]) AND (([T-INSCRIPTION].[N°
arrêté])=[arrêté ?]) AND (([T-INSCRIPTION].Année &" "&
[T-INSCRIPTION].Objet &" "& [T-INSCRIPTION].[N° arrêté] &" "&
[T-INSCRIPTION].FK_DG_extra &" "& [T-INSCRIPTION].Montant &" "&
[T-INSCRIPTION].[N° d'ordre bénéficiaire]) NOT IN (SELECT année &" "& objet
&" "& [N° arrêté] &" "& FK_DG_extra &" "& montant &" "& [N° d'ordre
bénéficiaire] FROM [arrêtés sub extra1]));
Je me demande si ce n'est pas qu'un problème de parenthèses (auquel je ne
comprends pas grand chose) dans lequel je me perds à force de tenter des
modifs...
Puis-je te, vous, demander un avis sur la question ?
Merci