Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2011, 18h18   #1
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Par défaut Actualisation suite requête d'ajout

Bonjour,

Je voudrais savoir si il est possible qu'une requête d'ajout puisse insérer que des lignes nouvelles dans une table, c'est à dire ne pas copier les enregistrements déja inscrit dans cette table... pas clair tout ça !!

Alors j'ai une requête de Calcul (R_CalculRang) :
Code :
1
2
3
4
5
 
idSP - idFonction - NuméroRang
3     -      1        -     2
3     -      2        -     1 
Etc
Par exemple il y a une modification :
Code :
1
2
3
4
5
idSP - idFonction - NuméroRang
3     -      1        -     1
3     -      2        -     1 
Etc
Est ce qu'il est possible quand j'active ma requête d'ajout d'insérer que la ligne qui à changé dans ma table NiveauSP, au lieu de copier comme actuellement les 561 enregistrements de ma requête ??
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 20h19   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Bonsoir,
c'est possible avec un ou des champ(s) unique(s) commun(s) aux 2 tables.
Créer la requete ajout avec les 2 tables et avec une jointure appropriée sur le champ unique
cela peut ressembler à cela
Code :
1
2
 
INSERT INTO Table2 ( n, a ) SELECT Table1.n, Table1.a FROM Table1 LEFT JOIN Table2 ON Table1.n = Table2.n WHERE (((Table2.n) Is Null));
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 23h33   #3
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Bonsoir,

Sauf erreur de ma part, j'aimerais que ces données soient stockées dans la même table NiveauSP qui contient les champs suivants :

idSP
idFonction
DateDepuis
( valeur par défaut : Now)
NuméroRang
idPréférence (valeur par défaut : 3)
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2011, 10h12   #4
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Bonjour,
Je pense ne pas avoir compris.
Quel est le nom de la table de départ et le nom de la table de destination ?
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2011, 12h16   #5
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Bonjour,

Alors dans 1er temps les informations sont stockées dans ma requête R_Calcul (requête de calcul)
idSP
idFonction
NuméroRang

Ensuite j'ai crée un requête d'ajout qui aliment la table NiveauSP
idSP
idFonction
DateDepuis ( valeur par défaut : Now)
NuméroRang
idPréférence (valeur par défaut : 3)

J'aimerais que lorsqu'il y a un changement dans la requête R_Calcul (nouveau enregistrement ou modification du NumeroRang) qu'on ajoute ceci dans la table NiveauSP.

C'est réaliser une requête d'ajout sans doublons en fait
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2011, 18h15   #6
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
J'ai essayé d'insérer la clause WHERE suivante sans résultat :

Code :
1
2
3
4
INSERT INTO NiveauSP ( idSP, idFonction, NuméroRang )
SELECT R_CalculRang.idSP, R_CalculRang.idFonction, R_CalculRang.NumeroRang
FROM R_CalculRang
WHERE ((([R_CalculRang].[idSP] & [R_CalculRang].[idFonction] & [R_CalculRang].[NumeroRang]) Not In (SELECT NiveauSP.idSP & NiveauSP.idFonction  & NiveauSP.NuméroRang  FROM NiveauSP)));
Il y a toujours une copie des champs existants dans NiveauSP
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h43.


 
 
 
 
Partenaires

Hébergement Web