Rechercher : dans
Par :

[ACCESS] suppression d enregistrements

Dernière réponse le 23 jan 2008 à 13:23:10 violette42, le 16 mar 2007 à 19:30:40 
 Signaler ce message aux modérateurs

Bonjour,

Voici mon problème:
J'ai 2 tables: la première, appelée [Référence] a pour champs [Réf](ex enregistrement: "Ref1") et [Date] (ex: "20070316") et la seconde, appelée [Temps] a pour champs [Date] (ex: "20070327")et [JourSemaine] (ex: "Dimanche").

Je voudrais supprimer les enregistrements de la table "Référence" qui ont une date qui tombe un dimanche par exemple. C'est à dire que j utilise le critère de la deuxième table pour décider des enregistrements à supprimer dans la 1ère table.

J'ai bien essayé avec une requête suppression, mais rien à faire!

Merci de votre aide.


Violette

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [ACCESS] suppression d enregistrements » dans :
Mythe - On peut effacer un CD-R ou un DVD-R VoirMythe On peut effacer un CD-R ou un DVD-R Réalité FAUX. Explications Les propriétés chimiques et physiques du substrat des CD-R, DVD+/-R font que le gravage n'est pas réversible. Une fois les données gravées, on ne peut donc pas les...
Télécharger Rapidos! VoirUn 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...

1

zenon, le 16 mar 2007 à 22:31:08

Bonsoir,


S'agit-il d'exemples ou de données réelles?
Quelles sont les relations entre tes tables?

Si ce sont des données réelles, elles sont redondantes.Il est inutile de préciser à Access (ou à Excel) quel est le jour correspondant à une date donnée.

Une requête du style

DELETE * FROM REF WHERE weekday ([Date])=0;

Devrait faire l'affaire...

Après avoir vérifié comment sont configurés tes paramètres régionaux (Dimanche peut valoir 0 ou 1)

et à condition qu'il n'y ait pas de relation entre tes tables, sinon, tu risques de violer les règles d'intégrité.

Tu vas aussi avoir des problèmes si tu appelles un champ "Date" (c'est un mot réservé qui désigne justement la date en cours...)

Répondre à zenon

2

violette42, le 17 mar 2007 à 10:59:10

Bonjour,

en fait il ne s agit que d'exemples. J ai rencontré ce problème plusieurs fois et je n'ai jamais su comment le résoudre.
Tu peux donc mettre n importe quel titre aux champs, je veux juste éliminer les enregistrements d'une table à partir de ceux d une autre table.
Je suis assez débutante en Access (je conais beaucoup mieux Excel), donc tous les problèmes d intégrité, connais pas trop...
Merci de ton aide.

Violette

Répondre à violette42

3

zenon, le 17 mar 2007 à 15:45:32

Bin, il semble que tu aies raison: je n'avais jamais essayé mais effectivement, dès que je mets une référence à une autre table, j'ai un message d'erreur...

Comme ça à première vue, je ne vois qu'une solution:

récupérer la valeur dans une variable et l'intégrer au code SQL

Répondre à zenon

4

guy2mars, le 18 mar 2007 à 01:36:20

En principe tu etablis une relation entre les 2 tables soit iso-sens, soit descendante, et tu entres le champ table2.ref1 par ex , tu declares where pour la condition te a partir de pour l action.
ca marche comme ca :o)
dur d ecrire correctement ca, mais je peux t envoyer un truc a entrer en mode sql sur ta requete
delete table*, table.ref from table where ((true & form!accueil!ref=true));
ca flingue les recordset a true si ma selection est a false . a toi de modifier
@+

Répondre à guy2mars

5

olga, le 13 sep 2007 à 14:40:45

J'ai le même problème dans une table des enregistrements et dans l'autre ceux que je dois supprimer et je ne connais pas sql ni visual basic

Répondre à olga

6

olga, le 14 sep 2007 à 10:30:29

Bonjour,
voilà ce que j'ai trouvé comme solution sans connaitre ni sql ni vba
faire une requete selection ajouter les 2 tables (avec un champ numerique entier ) faire un lien sur le numéro, le champ identique verifier que la jointure est 1 vers1(double clic sur le lien)
dans la partie descrition (bas de la requête ) pour la première table prendre * (tout)
erreur au moment de l'execution
clic droite sur la barre de titre de la requête : propriété clic OUI dans 'enr unique'
j'ai bien supprimer tous les enregistrement qui sont dans la table

Répondre à olga

7

 herman, le 23 jan 2008 à 13:23:10

Dans une base ACCESS, j'ai plusieurs tables.

Je souhaiterai au moyen d'une seule requete SQL, effacer la totalité des enregistrements des tables . La commande "delete" marche pour une seule table.

merci de vos réponses.

Répondre à herman
Collection CommentÇaMarche.net