IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

suppression de table: table manquante


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 119
    Points : 52
    Points
    52
    Par défaut suppression de table: table manquante
    bonjour,


    voilà, j'ai un code pour supprimer une quarantaine de tables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    Private Sub suppresstab_Click()
    On Error GoTo Err_suppresstab_Click
     
    CurrentDb.Execute ("drop table AFFECTATION_LOCAL")
    CurrentDb.Execute ("drop table ADRESSE")
    ...
    CurrentDb.Execute ("drop table TYPE_POS")
     
    Exit_suppresstab_Click:
        Exit Sub
     
    Err_suppresstab_Click:
        MsgBox Err.Description
        Resume Exit_suppresstab_Click
     
    End Sub
    mon probleme : si une table n'existe pas, j'aimerai que le processus continue quand meme, afin que les autres soient effacées quand meme.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    Tu as essayer de faire des boucles if ? Tu teste l'existance de ta table (j'ai vu un poste qui traitait de ça) et si table présente tu la supprime...

    Après il y a peu etre une fonction prédéfinie....mais je ne connais pas assez VBA pour t'en dire plus.

    En espérant t'aider.

    ++
    Thib

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 119
    Points : 52
    Points
    52
    Par défaut
    j'y ai pensé, mais j'aurai aimer ne pas refaire ça pour une quarantaine de table.

    si je veut mettre un If, je ne voit pas comment l'ecrire vraiment pour ne le mettre qu'une fois (je debute avec la prog).

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Il faut que tu testes si la table existe (recherche dans la FAQ)
    Si tu ne veux mettre qu'un seul If il faut que tu fasses une boucle sur les tables.
    Code : exemple d'algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pour Chaque table
    Si tableExiste alors
        suppression table
    Fin si
    Table suivante
    Cela veut dire que tu vas supprimer toutes les tables de la base.
    Si tu veux supprimer que quelques tables, tu peux utiliser un tableau contenant le nom des tables à supprimer.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 119
    Points : 52
    Points
    52
    Par défaut
    ben j'avoue que je comprend pas vraiment...

    en fait je ne veut supprimer qu'une partie des tables, mais je ne sais pas faire un tableau (ok je vais dans la FAQ )

    je n'ai pas non plus compris ce qu'il faut mettre dans le If pour vérifier si la table existe , malgrès le fait que j'ai trouvé ça dans la FAQ...

    je suis perdue!!!!

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    J'imagine que tu as copié la fonction ExistTable2 dans le module de ton formulaire (Ca serait mieux dans un module public, mais plus tard)

    Cette fontion retourne une valeur Bouléenne :

    alors l'utilisation du IF ce n'est que le début de la logique :

    if ExistTable2("maTable")=TRUE then
    je delete maTable
    end if

    Je pense qu'il faudrait un peu plus se touiller les petites cellules grises !

    Bonne journée
    "Always look at the bright side of life." Monty Python.

  7. #7
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 119
    Points : 52
    Points
    52
    Par défaut
    merci, mais se "touiller les cellulles grises" quand on connait rien au domaine et qu'on est pressé par le temps, c'est pas évident. je sais que j'ai besoin de cours pour apprendre les bases de la programmation, c'est une logique qui m'échappe et je suis pas vraiment faite pour... j'estime que c'est déjà un bon début d'essayer de comprendre alors que c'est pas du tout mon truc.

    en tout les cas, je vous doit à tous un grand merci, parce que sans vous je sais pas comment j'aurai fait!

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    Est-ce utile de se touiller les cellules grises avec une fonction d'existence de table???
    Il suffit de demander à continuer l'exécution dans la gestion d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Err_suppresstab_Click:
    Select Case Err.Number
        Case 3376
           ' Erreur table inexistante
           ' Continue l'exécution à la l'instruction suivante
           Resume Next
        Case Else
           ' Autre erreur
           ' Affiche un message d'erreur
           MsgBox Err.Description
           Resume Exit_suppresstab_Click
    End Select

  9. #9
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 119
    Points : 52
    Points
    52
    Par défaut
    merci bien, en effet c'est carrement plus simple pour moi.

    merci pour tout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec un chemin de type "tables\table\tables\table"
    Par bankiz dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/09/2008, 22h25
  2. Problème de suppression dans une table
    Par Splinter dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/10/2005, 10h55
  3. suppression sur plusieurs tables
    Par Jean-Matt dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/06/2005, 11h46
  4. [Debutant]Suppression dans des tables avec contraintes
    Par Roming22 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/10/2004, 17h23
  5. Combler les trous lors d'une suppression dans une table
    Par Billybongjoe dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 08/04/2004, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo