Ouh là là...
La méthode de seniorpapou fera la même erreur que le simple DELETE. Deplus, passer par un record de sélection pour faire une suppression, c'est jouer avec le feu (on ne peut pas garantir qu'entre le moment où les lignes sont flaguées dans le recordset et le moment où elles sont effacées, il n'y a pas eu de nouvelle insertion de données dans la table).
La méthode de moi23372 est la meilleure solution pour viter la base entière sans trop avoir compris ce qu'il s'est passé.
Non, faut pas faire comme ça.
Et il n'y a en effet pas de TRUNCATE dans Access.
La meilleure solution consiste donc à supprimer toutes les clés étrangères, puisqu'Access ne permet pas de les désactiver (c'est ce que fait le TRUNCATE).
Il faut mieux aussi supprimer les éventuels index de la table, puisqu'à nouveau on ne peut pas les désactiver (ce que fait le TRUNCATE aussi) car sinon le delete et la repopulation seront très lents.
Une fois ces clés supprimées, on peut sans problème effectuer le DELETE * (sans CASCADE, qui est extrêment dangereux et à banir autant que possible).
Une fois la table repopulée, on pourra remettre les clés et les index sur la table.
Attention toutefois : si les données sont incohérentes, la re-création des clés et des index échouera.