Macro pour supprimer une table

Le
Jac
Bonjour à tous,

j'ai besoin de supprimer une table temporaire.
Dans une macro je mets les "Avertissements" à non et "SupprimerObjet"
objet table et nom objet le nom de ma table et ça fonctionne
parfaitement sauf si la table n'existe pas car elle a déjà été
supprimée.

Je pensais qu'avec les avertissements désactivés Access refermerait
tout seul la boîte de dialogue "Impossible de trouver l'objet 'xxx'"
car cet objet n'existe pas et finirait la macro sans rien dire.

En fait je suis victime d'un excès de zèle

Merci d'avance à qui pourrait me mettre sur la voie.

Jac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #6356471
Bonjour à tous,

j'ai besoin de supprimer une table temporaire.
Dans une macro je mets les "Avertissements" à non et "SupprimerObjet"
objet table et nom objet le nom de ma table et ça fonctionne
parfaitement sauf si la table n'existe pas car elle a déjà été supprimée.

Je pensais qu'avec les avertissements désactivés Access refermerait tout
seul la boîte de dialogue "Impossible de trouver l'objet 'xxx'" car cet
objet n'existe pas et finirait la macro sans rien dire.

En fait je suis victime d'un excès de zèle...

Merci d'avance à qui pourrait me mettre sur la voie.

Jac


Salut jac,

dommage que tu ne passe par par VBA ;-)
Avec un on error resume next tu étais sauvé.
Sub efface_Table(Nom_Table as string)
On error resume Next
Docmd.setwarnings false
Docmd.deleteObject acTable, Nom_Table
Docmd.setwarnings true
End sub
Dommage
@+

Jac
Le #6356431
Bonjour à tous,

j'ai besoin de supprimer une table temporaire.
Dans une macro je mets les "Avertissements" à non et "SupprimerObjet" objet
table et nom objet le nom de ma table et ça fonctionne parfaitement sauf si
la table n'existe pas car elle a déjà été supprimée.

Je pensais qu'avec les avertissements désactivés Access refermerait tout
seul la boîte de dialogue "Impossible de trouver l'objet 'xxx'" car cet
objet n'existe pas et finirait la macro sans rien dire.

En fait je suis victime d'un excès de zèle...

Merci d'avance à qui pourrait me mettre sur la voie.

Jac


Salut jac,

dommage que tu ne passe par par VBA ;-)
Avec un on error resume next tu étais sauvé.
Sub efface_Table(Nom_Table as string)
On error resume Next
Docmd.setwarnings false
Docmd.deleteObject acTable, Nom_Table
Docmd.setwarnings true
End sub
Dommage
@+


Bonjour Fabien,

en vba, j'avais une version courte :

Function Macro1()
On Error Resume Next
DoCmd.DeleteObject acTable, "XX1"
End Function

mais l'obstination me fait réfléchir à une solution macro, plus
accesible à ceux qui devront adapter la solution...


Eric
Le #6356421
Bonjour Jac,

mais l'obstination me fait réfléchir à une solution macro, plus
accesible à ceux qui devront adapter la solution...



Oui mais tu est confronté au problème de la gestion des erreurs,
irréalisable avec des macros, ce qui pousse tout le monde à abandonner
ces chôses-là. J'avais entendu dire que µSoft devait les abandonner
depuis la version 2002.

Une piste, si tu poursuis sur cette voie, mais je n'y suis pas favorable:
Faire un RechDom() de la table dans la table system MSysObjects et
mettre ce rechdom() en condition de la commande de suppression, c a d
SI: Pas EstNull(RechDom(...)) Action: SupprimerObjet ...
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Jac
Le #6356391
Bonjour Jac,

mais l'obstination me fait réfléchir à une solution macro, plus
accesible à ceux qui devront adapter la solution...



Oui mais tu est confronté au problème de la gestion des erreurs, irréalisable
avec des macros, ce qui pousse tout le monde à abandonner ces chôses-là.
J'avais entendu dire que µSoft devait les abandonner depuis la version 2002.

Une piste, si tu poursuis sur cette voie, mais je n'y suis pas favorable:
Faire un RechDom() de la table dans la table system MSysObjects et mettre ce
rechdom() en condition de la commande de suppression, c a d SI: Pas
EstNull(RechDom(...)) Action: SupprimerObjet ...


Bonjour Eric,

si tu peux m'éclairer sur la syntaxe et le fonctionnement de rechdom,
ce sera avec plaisir que je ferai des essais...


Pierre CFI
Le #6356371
bonjour
rechdom devient Dlookup en vba

--
Pierre CFI
"Jac"
Bonjour Jac,

mais l'obstination me fait réfléchir à une solution macro, plus
accesible à ceux qui devront adapter la solution...



Oui mais tu est confronté au problème de la gestion des erreurs,
irréalisable avec des macros, ce qui pousse tout le monde à abandonner
ces chôses-là. J'avais entendu dire que µSoft devait les abandonner
depuis la version 2002.

Une piste, si tu poursuis sur cette voie, mais je n'y suis pas favorable:
Faire un RechDom() de la table dans la table system MSysObjects et mettre
ce rechdom() en condition de la commande de suppression, c a d SI: Pas
EstNull(RechDom(...)) Action: SupprimerObjet ...


Bonjour Eric,

si tu peux m'éclairer sur la syntaxe et le fonctionnement de rechdom, ce
sera avec plaisir que je ferai des essais...






Eric
Le #6356351
Bonjour,

RechDom("LeChamp";"LaTable";"LeCritereFacutatif")
Ce qui devrait devenir pour toi :
Dans la colonne condition:
Pas EstNull(RechDom("Name";"MSysObjects";"Name='NomTableASupprimer' And
Type=1"))
Colonne Action:SupprimerObjet

RechDom() retourne soit une valeur alors la table existe, soit Null
alors la table n'existe pas.
A tester sur une copie de la bd par précaution.

Bonjour Jac,

mais l'obstination me fait réfléchir à une solution macro, plus
accesible à ceux qui devront adapter la solution...



Oui mais tu est confronté au problème de la gestion des erreurs,
irréalisable avec des macros, ce qui pousse tout le monde à abandonner
ces chôses-là. J'avais entendu dire que µSoft devait les abandonner
depuis la version 2002.

Une piste, si tu poursuis sur cette voie, mais je n'y suis pas favorable:
Faire un RechDom() de la table dans la table system MSysObjects et
mettre ce rechdom() en condition de la commande de suppression, c a d
SI: Pas EstNull(RechDom(...)) Action: SupprimerObjet ...


Bonjour Eric,

si tu peux m'éclairer sur la syntaxe et le fonctionnement de rechdom, ce
sera avec plaisir que je ferai des essais...




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Publicité
Poster une réponse
Anonyme