Comment tester l'existence d'une table ? [VBA] - Programmation
Marsh Posté le 02-06-2001 à 21:00:50
Précision: j'ai une bd access qui contient un ensemble de tables.
Je veux importer une table d'une autre base, mais je voudrais d'abbord vérifier si elle n'est pas déjà présente dans la base. Le tout en VB bien sûr.
Marsh Posté le 03-06-2001 à 11:31:44
Ok merci pour voter aide, j'ai résolu le problème.
Pour info, voici une solution qui fonctionne à la perfection.
Pour savoir si une table existe dans une base (l'objectif étant de l'importer si elle n'existe pas), il suffit d'essayer de la supprimer et d'implémenter le système de gestion d'erreur.
ex :
sub machin ()
...
On Error GoTo Erreur_machin
DoCmd.DeleteObject acTable, "table_a_importer"
'si la table n'existe pas : erreur 3011
'si elle existe elle a été effacée : on peut la réimporter
DoCmd.TransferDatabase acImport, "Microsoft Access", chemin_ancienne_base, acTable, "table_a_importer", "table_a_importer", False, False
...
Erreur_machin:
If Err.Number = 3011 Then
Err.Clear
Resume Next
'on ne fait rien mais on reprend l'exécution juste après la ligne qui a généré l'erreur
End If
end sub
(merci à NitRic qui m'a bien mis sur la voie sur le forum VBFrance.com)
all is well, end is well
[edit]--Message édité par Ho--[/edit]
Marsh Posté le 04-06-2001 à 05:18:38
sinon tu pouvais essaye de la creer et ca t aurais aussi retourner une erreur si elle existait deja je crois bien .
enfin desole depas avoir repondu lutot car j avaispas vu:D, et j avais fait un truc similaire l annee derniere mais je me souviens plus trop, enfin jaurais regarder mon listing .
Marsh Posté le 01-06-2001 à 23:39:52
Je sais, ça doit être tout con, mais j'ai eu beau éplucher l'aide, pas de réponse ... alors, avis aux âmes charitables.