Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro pour supprimer une table

6 réponses
Avatar
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

6 réponses

Avatar
Fabien
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
@+

Avatar
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


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...


Avatar
Eric
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

Avatar
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...


Avatar
Pierre CFI
bonjour
rechdom devient Dlookup en vba

--
Pierre CFI
"Jac" a écrit dans le message de news:

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...






Avatar
Eric
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