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 07/01/2011, 11h47   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 58
Points : 10
Points : 10
Par défaut requête de suppression avec jointure

Bonjour à tous,

je veux faire une requête qui supprime des enregistrements tout en faisant une jointure avec une autre table pour savoir quels enregistrements elle va supprimer.
Voici mon code SQL access :
Code :
1
2
3
4
PARAMETERS maDate DateTime;
DELETE tblSensis6buck.ID, tblSensis.DateFichier
FROM tblSensis6buck INNER JOIN tblSensis ON tblSensis6buck.ID = tblSensis.IDMaturites
WHERE (((tblSensis.DateFichier)=[maDate]));
J'obtiens le message : "Spécifiez la table contenant les enregistrements que vous voulez supprimer"

Comment puis je corriger ce bug ?

Merci d'avance !
zskiredj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2011, 15h16   #2
Candidat au titre de Membre du Club
 
Inscription : janvier 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 58
Points : 10
Points : 10
en fait la question revient à savoir comment on peut faire un delete avec une jointure ...

merci.
zskiredj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 12h55   #3
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Bonjour,
Si le but est d’effacer les enregistrements de la table tblSensis vérifiant le critère de date ET les enregistrements correspondants dans tblSensis6buck, tu peux essayer :
Code sql :
1
2
3
4
5
6
7
DELETE * FROM tblSensis6buck 
WHERE tblSensis6buck.ID IN
  ( SELECT tblSensis.IDMaturites FROM tblSensis
    WHERE tblSensis.IDMaturites = tblSensis6buck.ID
           AND
          tblSensis.DateFichier = [maDate]
  )
A condition de mettre la suppression en cascade sur la relation entre les deux tables.

N’oublie pas de faire une copie de ta base avant de tester, la suppression en cascade ça ne pardonne pas…
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 15h21   #4
Candidat au titre de Membre du Club
 
Inscription : janvier 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 58
Points : 10
Points : 10
merci f-leb ça marche nickel ! Je me disais bien qu'il devait exister une solution ...
zskiredj est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h41.


 
 
 
 
Partenaires

Hébergement Web