Dans certaines bases B2, B3,..., Bn, (représentées par l'objet db)
il se peut qu'il existe des requêtes, formulaires et états qui n'ont plus
lieu d'être car sont dans B1.
Pour supprimer les requêtes, j'utilise ceci :
'suppression des requêtes
n = db.QueryDefs.Count
For i = 1 To n
db.QueryDefs.Delete db.QueryDefs(0)
Next
Par contre, je ne vois pas comment supprimer formulaires et états.
Je n'arrive pas non plus à utiliser la collection Allforms avec l'objet db.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stéphane Lavergne
Merci Xavier,
Tant pis, je laisserais les formulaires et états qui trainent... et je les effacerais manuellement peut-être au fure et à mesure.
Je poserai tout de même la question sur le Support du Mercredi. Le Mercredi 30 juillet 2003 aura pour thème la Bureautique Chat de 17h à 18h sur : http://support.microsoft.com/default.aspx?scid=fh;FR;chat
Stéphane
"Xavier HUE" a écrit dans le message de news:00f401c347be$a364b3b0$ Bonjour Stéphane,
Sous Access 97, la gestion des formulaires et états est particulières. Les collections Forms et Reports contiennent les formulaires et états ouverts.
Si tu veux accéder à un formulaire ou état qui n'est pas ouvert, il faut passer par la collection Containers, et dans cette collection, la collection Documents.
Pourquoi faire simple quand on peut faire compliqué ;-)
Par exemple, la ligne ci-dessous retourne le nom du formulaire indexé avec la valeur 1 dans la fenêtre base de données (pas nécessairement le premier réellement affiché).
db.Containers("Forms").Documents(1).Name
Pour les états
db.Containers("Reports").Documents(1).Name
Pour supprimer ?? L'aide dit: "La méthode Delete peut-elle être utilisée sur la collection Containers?" Réponse "Non". Idem pour la collection "Documents".
C'est ballot! :-(
Désolé de ne pas t'aider plus que ça.
Cordialement.
PS: Enlever blurg dans l'adresse mail.
Merci Xavier,
Tant pis, je laisserais les formulaires et états qui trainent... et je les
effacerais manuellement peut-être au fure et à mesure.
Je poserai tout de même la question sur le Support du Mercredi.
Le Mercredi 30 juillet 2003 aura pour thème la Bureautique
Chat de 17h à 18h sur :
http://support.microsoft.com/default.aspx?scid=fh;FR;chat
Stéphane
"Xavier HUE" <xavier.hueblurg@systeme-u.fr> a écrit dans le message de
news:00f401c347be$a364b3b0$a101280a@phx.gbl...
Bonjour Stéphane,
Sous Access 97, la gestion des formulaires et états est
particulières.
Les collections Forms et Reports contiennent les
formulaires et états ouverts.
Si tu veux accéder à un formulaire ou état qui n'est pas
ouvert, il faut passer par la collection Containers, et
dans cette collection, la collection Documents.
Pourquoi faire simple quand on peut faire compliqué ;-)
Par exemple, la ligne ci-dessous retourne le nom du
formulaire indexé avec la valeur 1 dans la fenêtre base de
données (pas nécessairement le premier réellement affiché).
db.Containers("Forms").Documents(1).Name
Pour les états
db.Containers("Reports").Documents(1).Name
Pour supprimer ??
L'aide dit: "La méthode Delete peut-elle être utilisée sur
la collection Containers?" Réponse "Non". Idem pour la
collection "Documents".
Tant pis, je laisserais les formulaires et états qui trainent... et je les effacerais manuellement peut-être au fure et à mesure.
Je poserai tout de même la question sur le Support du Mercredi. Le Mercredi 30 juillet 2003 aura pour thème la Bureautique Chat de 17h à 18h sur : http://support.microsoft.com/default.aspx?scid=fh;FR;chat
Stéphane
"Xavier HUE" a écrit dans le message de news:00f401c347be$a364b3b0$ Bonjour Stéphane,
Sous Access 97, la gestion des formulaires et états est particulières. Les collections Forms et Reports contiennent les formulaires et états ouverts.
Si tu veux accéder à un formulaire ou état qui n'est pas ouvert, il faut passer par la collection Containers, et dans cette collection, la collection Documents.
Pourquoi faire simple quand on peut faire compliqué ;-)
Par exemple, la ligne ci-dessous retourne le nom du formulaire indexé avec la valeur 1 dans la fenêtre base de données (pas nécessairement le premier réellement affiché).
db.Containers("Forms").Documents(1).Name
Pour les états
db.Containers("Reports").Documents(1).Name
Pour supprimer ?? L'aide dit: "La méthode Delete peut-elle être utilisée sur la collection Containers?" Réponse "Non". Idem pour la collection "Documents".
C'est ballot! :-(
Désolé de ne pas t'aider plus que ça.
Cordialement.
PS: Enlever blurg dans l'adresse mail.
Raymond
Bonsoir.
Pour supprimer tous les formulaires tu peux faire: On Error Resume Next Dim Obj As AccessObject For Each Obj In CurrentProject.AllForms DoCmd.DeleteObject acForm, Obj.Name Next
On Error Resume Next est obligatoire pour ne pas s'arrêter sur le formulaire qui supprime les formulaires. pour les états tu passes par CurrentProject.AllReports -- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:eNiF%
Merci Xavier,
Tant pis, je laisserais les formulaires et états qui trainent... et je les effacerais manuellement peut-être au fure et à mesure.
Je poserai tout de même la question sur le Support du Mercredi. Le Mercredi 30 juillet 2003 aura pour thème la Bureautique Chat de 17h à 18h sur : http://support.microsoft.com/default.aspx?scid=fh;FR;chat
Stéphane
Bonsoir.
Pour supprimer tous les formulaires tu peux faire:
On Error Resume Next
Dim Obj As AccessObject
For Each Obj In CurrentProject.AllForms
DoCmd.DeleteObject acForm, Obj.Name
Next
On Error Resume Next est obligatoire pour ne pas s'arrêter sur le formulaire
qui supprime les formulaires.
pour les états tu passes par CurrentProject.AllReports
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" <slavergne.enlevercetexte@power-m.fr> a écrit dans le
message de news:eNiF%23h8RDHA.1072@TK2MSFTNGP10.phx.gbl...
Merci Xavier,
Tant pis, je laisserais les formulaires et états qui trainent... et je les
effacerais manuellement peut-être au fure et à mesure.
Je poserai tout de même la question sur le Support du Mercredi.
Le Mercredi 30 juillet 2003 aura pour thème la Bureautique
Chat de 17h à 18h sur :
http://support.microsoft.com/default.aspx?scid=fh;FR;chat
Pour supprimer tous les formulaires tu peux faire: On Error Resume Next Dim Obj As AccessObject For Each Obj In CurrentProject.AllForms DoCmd.DeleteObject acForm, Obj.Name Next
On Error Resume Next est obligatoire pour ne pas s'arrêter sur le formulaire qui supprime les formulaires. pour les états tu passes par CurrentProject.AllReports -- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:eNiF%
Merci Xavier,
Tant pis, je laisserais les formulaires et états qui trainent... et je les effacerais manuellement peut-être au fure et à mesure.
Je poserai tout de même la question sur le Support du Mercredi. Le Mercredi 30 juillet 2003 aura pour thème la Bureautique Chat de 17h à 18h sur : http://support.microsoft.com/default.aspx?scid=fh;FR;chat
Stéphane
Raymond
Bonjour.
Exact, tu places toutes tes bases dans un seul répertoire, tu les recherches par filesearch, tu les ouvres une à une et tu supprimes tous les formulaires.
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:%
Bonjour,
Je suppose que ce code CurrentProject.ALLforms, et DoCmd.Delete et les formulaires doivent se trouver dans la même base.
Mon pb est que j'ai 100 bases à restructurer : je fais donc le code dans 1 autre base ne contenant aucune donnée qui attaque les 100 bases par OpenDataBase.
Stéphane
Bonjour.
Exact, tu places toutes tes bases dans un seul répertoire, tu les recherches
par filesearch, tu les ouvres une à une et tu supprimes tous les
formulaires.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" <slavergne.enlevercetexte@power-m.fr> a écrit dans le
message de news:%23yZCaRqSDHA.1572@TK2MSFTNGP12.phx.gbl...
Bonjour,
Je suppose que ce code CurrentProject.ALLforms, et DoCmd.Delete et les
formulaires doivent se trouver dans la même base.
Mon pb est que j'ai 100 bases à restructurer : je fais donc le code dans 1
autre base ne contenant aucune donnée qui attaque les 100 bases par
OpenDataBase.
Exact, tu places toutes tes bases dans un seul répertoire, tu les recherches par filesearch, tu les ouvres une à une et tu supprimes tous les formulaires.
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:%
Bonjour,
Je suppose que ce code CurrentProject.ALLforms, et DoCmd.Delete et les formulaires doivent se trouver dans la même base.
Mon pb est que j'ai 100 bases à restructurer : je fais donc le code dans 1 autre base ne contenant aucune donnée qui attaque les 100 bases par OpenDataBase.