Problème de suppression d'enregistrement - Forum Access

A voir également:Problème de suppression d'enregistrementAccess : suppression d'enregistrements ✓ - Forum - Access Bloquer la suppression d'enregistrement dans une requête ✓ - Forum - Access [ACCESS] suppression d enregistrements - Forum - Programmation Suppression des enregistrements impossibles sur FreeboxRvolution - Forum - Freebox Suppression mots enregistres, tablette - Forum - Tablette tactile

Bonjour,
J’ai un formulaire de facturation qui me permet d’ajouter des articles à facturer dans les séjours des clients.

La partie haute du formulaire est bâtie sur une requête qui regroupe les clients (table T_Clients) et les séjours de ces clients (table T_Séjour), et le sous formulaire est basé sur une requête qui regroupe la table articles (table T_article) où sont listés tous les articles à facturer et la table qui détaille les séjours, date de facturation, quantité facturée, etc.. (table T_detSejour).

L’ajout d’article fonctionne correctement. Les articles apparaissent dans le sous formulaire, dans la requête du sous formulaire et dans les tables articles et détail séjour qui sont à la base de cette requête.

En revanche, lorsque je supprime un article, il disparait bien de la requête détailSéjour-article ainsi que de la table détailSejour, mais il n’est pas effacé de la table Articles.
J’ai créé une requête de non correspondance entre la table T_Article et la table T_DetSejour qui liste bien les articles orphelins, ceux qui n’ont plus de correspondance dans la table T_DetSejour après suppression par le formulaire de facturation.

J’ai transformé cette requête de non correspondance en requête de suppression des articles.
Lorsque je l’exécute j’ai le message :
« Spécifiez la table contenant les enregistrements que vous voulez supprimer. »

Le code SQL généré par l’assistant requête est :


DELETE T_Articles.cle_article, T_Articles.Article_Designation, T_Articles.Article_Famille, T_Articles.Article_PrixUnit, T_DetSejour.cle_article
FROM T_Articles LEFT JOIN T_DetSejour ON T_Articles.[cle_article] = T_DetSejour.[cle_article]
WHERE (((T_DetSejour.cle_article) Is Null));

Il me semblait que FROM T_Articles spécifiait justement cette table.

Question 1 : Pourquoi la suppression par le formulaire ne se fait pas automatiquement dans les tables comme l’ajout ?
Question 2 : Quel est le code à utiliser pour rendre la requête suppression fonctionnelle ? J’ai essayé plusieurs code trouvés sur le web, sans résultat.

Par avance merci
Fifi

Forum

A voir également:Problème de suppression d'enregistrementAccess : suppression d'enregistrements ✓ - Forum - Access Bloquer la suppression d'enregistrement dans une requête ✓ - Forum - Access [ACCESS] suppression d enregistrements - Forum - Programmation Suppression des enregistrements impossibles sur FreeboxRvolution - Forum - Freebox Suppression mots enregistres, tablette - Forum - Tablette tactile

Web: www.shapebootstrap.net

3 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour, peut-être
DELETE * FROM ...

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour yg_be et merci,

j'essaie ça ce soir et je reviens donner le résultat
fifi

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

C'est en effet DELETE FROM qu'il faut utiliser.

Pour moi ça donne :

DELETE FROM T_Articles WHERE not exists (select cle_article from T_DetSejour where T_Articles.[cle_article] = T_DetSejour.[cle_article])


(donné par nico84)

Fifi

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed