Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Enchaîner les Delete dans une requêtes

2 réponses
Avatar
Franck
Bonjour,

Je souhaiterais écrire une requête SQL permettant d'effacer les
enregistrements de toutes mes tables non référentielles.

Il apparaît que la requête suivante n'est pas comprise par Access 2003 :

Delete from TABLE1;
Commit;
Delete from TABLE2;
Commit;
Delete from TABLE3;
Commit;
Delete from TABLE4;
Commit;
Delete from TABLE5;
Commit;
Delete from TABLE6;
Commit;

Avez vous des idées ?

Merci

2 réponses

Avatar
Thierry (ze Titi)
Bonjour Franck !

L'enchaînement de requêtes ne peut pas se faire de cette façon dans
Access.
Par contre, tu peux très bien écrire une procédure VBA qui le ferait:

Sub ViderTables()
DoCmd.RunSQL "DELETE FROM TABLE1"
DoCmd.RunSQL "DELETE FROM TABLE2"
DoCmd.RunSQL "DELETE FROM TABLE3"
...
End Sub

Si tu ne souhaites pas de messages de confirmation, fais précéder ces
lignes par
DoCmd.SetWarnings False
et tu mets
DoCmd.SetWarnings True
juste après.

Tu exécutes cette procédure soit par Macro soit par un simple appel:

Call ViderTables

Bonjour,

Je souhaiterais écrire une requête SQL permettant d'effacer les
enregistrements de toutes mes tables non référentielles.

Il apparaît que la requête suivante n'est pas comprise par Access 2003 :

Delete from TABLE1;
Commit;
Delete from TABLE2;
Commit;
Delete from TABLE3;
Commit;
Delete from TABLE4;
Commit;
Delete from TABLE5;
Commit;
Delete from TABLE6;
Commit;

Avez vous des idées ?

Merci


--
Cordialement,
Thierry

tout pour Access :
http://www.mpfa.info

Avatar
Franck
Merci.

Cela convient parfaitement


Bonjour Franck !

L'enchaînement de requêtes ne peut pas se faire de cette façon dans
Access.
Par contre, tu peux très bien écrire une procédure VBA qui le ferait:

Sub ViderTables()
DoCmd.RunSQL "DELETE FROM TABLE1"
DoCmd.RunSQL "DELETE FROM TABLE2"
DoCmd.RunSQL "DELETE FROM TABLE3"
....
End Sub

Si tu ne souhaites pas de messages de confirmation, fais précéder ces
lignes par
DoCmd.SetWarnings False
et tu mets
DoCmd.SetWarnings True
juste après.

Tu exécutes cette procédure soit par Macro soit par un simple appel:

Call ViderTables

Bonjour,

Je souhaiterais écrire une requête SQL permettant d'effacer les
enregistrements de toutes mes tables non référentielles.

Il apparaît que la requête suivante n'est pas comprise par Access 2003 :

Delete from TABLE1;
Commit;
Delete from TABLE2;
Commit;
Delete from TABLE3;
Commit;
Delete from TABLE4;
Commit;
Delete from TABLE5;
Commit;
Delete from TABLE6;
Commit;

Avez vous des idées ?

Merci


--
Cordialement,
Thierry

tout pour Access :
http://www.mpfa.info