[ACCESS-VBA]-Vérifier la présence d'une table

Résolu/Fermé
gaudian Messages postés 62 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 12 septembre 2007 - 20 juil. 2007 à 09:09
 midkar - 9 déc. 2011 à 16:44
Bonjour,

Je souhaiterai savoir comment on peut vérifier la présence d'une table sous VB ACCESS ? Car j'aimerai effectuer un test au début

Si la table existe alors on fait sinon on la créée

Pour le moment je supprime la table manuellement parce qu'au début de mon application je lance une requête SQL comme ci-dessous :
SQL = "CREATE TABLE tb_SauvegardeTemporaire(NumOperationTransfert char(50)) "
  
DoCmd.RunSQL SQL


Je voudrai donc vérifier si elle existe, alors comment faire?

Merci d'avance
A voir également:

3 réponses

blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
20 juil. 2007 à 09:17
Salut,

il suffit de parcourir la liste des tables de ta base...
Dim Db As Database
Dim Tb As TableDef
Set Db = CurrentDb
For Each Tb In Db.TableDefs
    MsgBox Tb.Name
Next
Ca devrait afficher le nom des tables, à toi de faire le test que tu veux...
3
Etant donné que le nom exact de la table est connu, il me semble plus simple (et plus court à l'exécution) d'utiliser une fonction qui teste le nom de la table et maîtrise l'erreur au cas où la table n'existe pas.
Cette fonction renvoie 0 (ou False) si la table n'existe pas, -1 (ou True) si elle existe

If TableExists(NomDeLaTableAVérifier) then = True ou =-1 est sous-entendu ici
Faire ce qu'il y a à faire
Else
Créer la table
End if

Function TableExists(TblName as string) as integer
Dim NomTable as string
On Error Goto ErrTable
NomTable = CurrentDb.TableDefs(TblName)
TableExists = -1
Exit Function
ErrTable:
End Function
0
Bonjour,

Je souhaiterais faire la même chose mais en ASP ...
Je ne trouve pas ...

Et le mot "CurrentDb" n'est pas reconnu en vbscript.

D'avance merci.
2
gaudian Messages postés 62 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 12 septembre 2007 3
20 juil. 2007 à 09:25
Merci beaucoup ça fonctionne
0