Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Suppression enregistrement ACCESS

Forouest, le jeudi 11 janvier 2007 à 16:32:03
Bonjour,

Je travail actuellement sur une base ACCESS.
Je souhaite supprimer des enregistrements d'une table A qui sont présents dans une table B.
J'utilise une requête dans laquelle j'ai ajouté ces 2 tables que j'ai liées sur un champ de même type (numérique en l'occurrence).
Access me retourne le message suivant : Impossible de supprimer dans les tables spécifiées.
Quelqu’un peut-il me dire pourquoi ce message m’est retourné et quelle serait la solution ?
D’avance
Merci
Configuration: Windows 2000
Internet Explorer 6.0
Répondre à Forouest  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le vendredi 12 janvier 2007 à 09:15:35
Salut,

c'est sûrement un problème d'intégrité réferentielle : on ne peut pas supprimer des enr. dans B sans supprimer A (sinon, ça va faire des orphelins)...

As-tu mis des relations entre tes tables et de quel type (suppression en cascade...) ?
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Forouest, le samedi 13 janvier 2007 à 19:35:07
Salut,

Il n'y a pas de relation entre ces tables exceptée celle que j'ai créée dans la requête et qui lie les 2 tables sur deux champs de même type.

J’ai créé ce lien de façon à ne supprimer dans la table principale A que les champs qui sont présents dans les deux tables.

A+
Merci
Répondre à Forouest

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le lundi 15 janvier 2007 à 08:54:56
Tu peux nous mettre ta requête en SQL ? A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Forouest, le mardi 23 janvier 2007 à 14:58:15
Salut,

Avec un peu de retard à l'allumage lié au manque de temps, voici la requête en SQL.

DELETE A.*
FROM A INNER JOIN B ON A.IDC = B.IDC;


A+
Merci
Répondre à Forouest

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mardi 23 janvier 2007 à 15:36:25
J'ai fait le test, ça ne marche pas chez moi, donc j'ai feinté (requête imbriquée qui passe outre les relations entre tables) :
DELETE A.* FROM A WHERE A.Id IN (SELECT B.Id FROM B);
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Forouest, le mardi 30 janvier 2007 à 16:00:17
Effectivement la feinte est efficace.

Bravo et merci pour ton aide et de ta patience compte tenu de la lenteur de mes réactions à tes interventions.

A bientôt peut-être sur ce Forum

Forouest
Répondre à Forouest

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
KnackiX4, le lundi 23 avril 2007 à 09:58:31
La vraie réponse à ce problème (sans feinte) est dans le lien suivant :
http://support.microsoft.com/kb/467066/fr
Répondre à KnackiX4

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flip86, le mardi 18 septembre 2007 à 08:59:51
salut je galère un peu dans le même domaine.

J'ai deux tables qui possède chacune lun champ oui / non.
J'aimerai supprimer dans la table2 les enregistrements qui on la case coché dans la table1
J'ai essayé la requête suivante mais ca ne marche pas :-(

DELETE A.* FROM A WHERE A.Id IN (SELECT B.Id FROM B WHERE B. "Champs OUI/NON" = True);


Merci d'avance

FLIP 86 FT Me204
Répondre à flip86

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mardi 18 septembre 2007 à 09:35:18
C'est quoi qui ne marche pas ?

Tu as essayé ta sous-requête seule pour voir si elle renvoie les bons résultats ?
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flip86, le mardi 18 septembre 2007 à 09:53:25
Salut;

Merci de t'interessé à mes souci.

Ma sous requête fonctionne tres bien. SELECT Dossier.Valide_prepa FROM Dossier WHERE Dossier.Valide_prepa = True

Dossier et Dossier1 sont deux tables identiques (champs identiques mais pas le même nombre d'enregistrements)

Le champ "Valide_prepa" est un champ Oui/Non. IL est coché sur certains enregestriments de la Table DOSSIER mais dans aucun de ceux de la Table DOSSIER

Voici la requête

DELETE Dossier1.*
FROM Dossier1
WHERE Dossier1.Valide_prepa IN (SELECT Dossier.Valide_prepa FROM Dossier WHERE Dossier.Valide_prepa = True);

Ce que je veux faire c'est supprimer les enregistrements de la Table DOSSIER1 identique à ceux de la Table DOSSIER. La condition étant que les enregestriments de la Table DOSSIER ai leur champ "Valide_prepa" coché.

Car par la suite j'importe les enregistrements de la Table DOSSIER1 dans la table DOSSIER mais je ne veux pas que les enregistrements deja coché dans la Table DOSSIER ré apparraisse dans la table DOSSIER

Merici d'avance

FLIP86 FT Me204
Répondre à flip86

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flip86, le mardi 18 septembre 2007 à 10:06:00
en faite ma table DOSSIER est une table que j'utilise dans ma base de donnée via des formulaires.

La table DOSSIER1 est une table qui me permet d'importer de nouveaux enregistrements. Cependant elle me retourne des enregistrments déja traité dans ma base de donnée via la Table DOSSIER. Je traite un enregestriments à partir du moment ou son champ "Valide_prepa" est coché.

JE en vois ce que tu veut dire par créer un formulaire et des états avec access

Voili voilà j'espere que tu as réussi à comprendre ma situation

Merci d'avance pour toute aide

FLIP 86 FT me204
Répondre à flip86

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mardi 18 septembre 2007 à 10:46:21
Et quand tu dis : ça ne marche pas, c'est quoi : pas de résultats, erreur dans l'exécution de la requête ?
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flip86, le mardi 18 septembre 2007 à 11:00:02
Si je met =True dans la sous requete il ne fait rien la Table Dossier ne bouge pas
et si je =false iul me supprime toute la table DOSSIER1 alors que des enregistrements sont cochés dans la table DOSSIER donc il devrais au moins garder les enregistrements cochés


DELETE Dossier1.*
FROM Dossier1
WHERE Dossier1.Valide_prepa IN (SELECT Dossier.Valide_prepa FROM Dossier WHERE Dossier.Valide_prepa = True);


Merci d'avance

FLIP86 FT Me204
Répondre à flip86

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mardi 18 septembre 2007 à 11:11:26
Bon sang, mais c'est bien sûr !!!

Il ne faut pas avoir ton critère sur valide_prepa mais sur la clé primaire des deux tables, car actuellement tu renvoies des vrais/faux, pas des clés primaires...
DELETE Dossier1.*
FROM Dossier1
WHERE Dossier1.cle IN (SELECT Dossier.cle FROM Dossier WHERE Dossier.Valide_prepa = True); 
Je pense que ça peut le faire...
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flip86, le mardi 18 septembre 2007 à 11:20:31
lol tu va rire mais je n'ai pas de clé primaire

chaque ligne de mes tables est unique par le biai d'un champ "N°Dossier" et d'un "Repere_tole"

est ce que tu as une idée dans ce cas ?

Merci d'avance


FLIP86 FT Me204
Répondre à flip86

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mardi 18 septembre 2007 à 11:30:53
Si ton champ "N°dossier" est unique, tu y fais référence :
DELETE Dossier1.*
FROM Dossier1
WHERE Dossier1.[N°dossier] IN (SELECT Dossier.[N°dossier] FROM Dossier WHERE Dossier.Valide_prepa = True);
sinon, si c'est le couple "N°dossier-repere_tole", tu fais référence aux deux champs, mais je ne sais pas si ça marche :
DELETE Dossier1.*
FROM Dossier1
WHERE Dossier1.[N°dossier] IN (SELECT Dossier.[N°dossier] FROM Dossier WHERE Dossier.Valide_prepa = True) AND Dossier1.[reper_tole] IN (SELECT Dossier.repere_tole FROM Dossier WHERE Dossier.Valide_prepa = True);
Le mieux est encore de mettre une vraie clé primaire...
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flip86, le mardi 18 septembre 2007 à 11:32:38
J'ai essayé avec le code suivant


DELETE Dossier1.*
FROM Dossier1
WHERE (Dossier1.N°Dossier and Dossier1.Repere_tole) IN (SELECT Dossier.N°Dossier,Dossier.Repere_tole FROM Dossier WHERE Dossier.Valide_prepa = true);


mais il me mets le message d'erreur suivant

Vous avez écrit une sous-requête pouvant renvoyer plus d’un champ sans utiliser le mot réservé EXISTS dans la clause FROM de la requête principale. Révisez l'instruction SELECT de la sous-requête pour obtenir un seul champ.

FLIP86 FT Me204
Répondre à flip86

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flip86, le mardi 18 septembre 2007 à 11:39:18
Super blux ca marche.

Merci beaucoup ça fonctionne

Si un jour tu passe en alsace fait moi signe je te paierai un verre tu viens de me sortir d'une semaine de merde et de pétage de plomb


MERCI BEAUCOUP !!!!!

A PLUS

FLIP 86 FT Me 204
Répondre à flip86

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mardi 18 septembre 2007 à 12:43:57
ça fonctionne
Ok, alors mets le texte de la requête, ça peut aider les autres :-)

et coche le message comme résolu...
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 flip86, le mardi 18 septembre 2007 à 13:10:03
Voici le code pour que ça fonctionne

DELETE Dossier1.*
FROM Dossier1
WHERE Dossier1.[N°dossier] IN (SELECT Dossier.[N°dossier] FROM Dossier WHERE Dossier.Valide_prepa = True) AND Dossier1.[Repere_tole] IN (SELECT Dossier.Repere_tole FROM Dossier WHERE Dossier.Valide_prepa = True);


Un grand merci a BLUX encore

LE PROBLEME EST RESOLU!!!!

FLIP86 FT Me204
Répondre à flip86
J'ai supprmé instant access mias je reçoit to (Résolu)bonjour, j'ai un gros problème! j'ai supprimé instant access mais je reçoit toujours les fenetres de pub de zipzappromos.com merci de votre aide!! www.commentcamarche.net/forum/affich-1256209-j-ai-supprme-instant-access-mias-je-recoit-to
Supprimer l'acces du PC a la pub zipzappromo (Résolu)bonsoir Comment puis je empéché la pub de zipzappromos de poluer mon PC apres avoir supprimé instant access elle le re instale mon blocage de fenétre des pub de windows semble inefficace que puisje faire merci de m'aider www.commentcamarche.net/forum/affich-1251126-supprimer-l-acces-du-pc-a-la-pub-zipzappromo
Media Access + 180search assistant (Résolu)Bonjour, Je voudrai supprimé Media access et 180search assistant (entre autre). Ils reviennent à chaque au démarage. J'ai fait un scan avec hijackthis et voici le rapport: Logfile of HijackThis v1.99.1 Scan saved at 20:18:12, on 01/11/2005... www.commentcamarche.net/forum/affich-1889924-media-access-180search-assistant
[Internet] Saisie semi-automatiqueCertains navigateurs ont une fonctionnalité nommée Saisie semi-automatique. Elle garde la trace des informations tapées récemment, comme les adresses des sites Web, les informations contenues dans les formulaires (de recherche par exemple), les mots... www.commentcamarche.net/faq/sujet-2151-internet-saisie-semi-automatique
[Spywares] MagicControl et Instant AccessMagicControl est un trojan dangereux et difficile à supprimer. Il se peut que ce trojan ait téléchargé d'autres malwares, notamment le dialer Instant Access. 1er Méthodes : utilisation d'antispywares 2ème Méthode : utilisation de l'outil... www.commentcamarche.net/faq/sujet-3927-spywares-magiccontrol-et-instant-access
Impossible d'enregistrer le son du microphoneVérifiez le niveau de volume du microphone, éventuellement faites un test avec l'enregistreur fourni avec votre système d'exploitation. Sous Windows il se trouve dans : Démarrer / Programmes / Accessoires / divertissement / Magnétophone Si... www.commentcamarche.net/faq/sujet-5381-impossible-d-enregistrer-le-son-du-microphone
Media access (Résolu)bonjour,je désire supprimer Media Access du programmefiles,il refuse de me supprimer MediaAccC.dll accès refuser. Dans la base de regedit j'ai tous supprimer et je n'arrive toujour pas à le supprimer. merci d'avance pour l'aide www.commentcamarche.net/forum/affich-1383528-media-access
Pb avec un Routeur Cisco 1710 (Résolu)Bonjour, Mon Antivirus ne télécharge plus ses mises à jour. Il me semble que la cause est la config de mon Routeur Cisco. En effet lorsque je supprimer l'access list en place, les téléchargement fonctionnent mais quand je la remets en place :... www.commentcamarche.net/forum/affich-3107572-pb-avec-un-routeur-cisco-1710
Capter Vidéo à partir d'un mémory stick (Résolu)Bonjour Quelle est svp, la procédure à mettre en oeuvre pour récupérer des images vidéo à partir d'un Mémory stick Duo, sur DD d'un PC, pour ensuite lea graver sur DVD ou autres supports. Enregistrement sur Mémory stick Duo en MPEG4 à... www.commentcamarche.net/forum/affich-2021864-capter-video-a-partir-d-un-memory-stick
Télécharger Rapidos!Un peu plus complet que iCarbon, Rapidos! permet aussi de transformer votre PC en photocopieuse, mais offre des fonctionnalités supplémentaires: Enregistrement de l'image dans un fichier, outils de recadrage, correction des couleurs, etc. Le... www.commentcamarche.net/telecharger/telecharger-3673484-rapidos
Sony RDR-GX350GX 350 ,Compatible DivX,Type:DVD,Graveur (DVD):DVD,,Upscaling ,Tuner TV:Analogique,Compatible XviD,Formats de Lecture:CD/CD-R/CD-RW/DVD/DVD-R/DVD-R DL/DVD-RW/DVD+R/DVD+R DL/DVD+RW/DVD-RAM/VCD/SVCD,Supports enregistrables:DVD-R/DVD-R DL/DVD... www.commentcamarche.net/guide-achat/sony-rdr-gx350-974644-fiche-technique
LG RC-388Magnétoscope intégré, Compatible DivX, N/A,Balayage progressif:Oui (NTSC/PAL),,Décodeurs audio:N/A,MP3,Compatible JPEG :JPEG,Compatible DivX,Compatible VCD,Supports enregistrables:DVD-R/DVD-RW/DVD+R/DVD+RW,Formats de Lecture:CD / CD-R / CD-RW / DVD /... www.commentcamarche.net/guide-achat/lg-rc-388-1061883-fiche-technique
Sony RDR-VX450VX 450 ,Magnétoscope intégré,Type:DVD,Graveur (DVD):DVD,Magnétoscope intégré,Upscaling ,Tuner TV:Analogique,,Formats de Lecture:DVD/DVD-R/DVD-RW/DVD+R/DVD+R DL/DVD+RW,Supports enregistrables:DVD+R/DVD+RW,,MP3: ,Compatible JPEG... www.commentcamarche.net/guide-achat/sony-rdr-vx450-981614-fiche-technique
Wifi - Couche liaison de données et méthode d'accès La couche Liaison de données de la norme 802.11 est composé de deux sous-couches : la couche de contrôle de la liaison logique (Logical Link Control, notée LLC) et la couche de contrôle d’accès au support (Media Access Control, ou MAC). La couche... www.commentcamarche.net/wifi/wifimac.php3
Toutes les réponses pour « suppression enregistrement ACCESS »