J'ai une macro dans une base Access qui est gênante et empêche l'exécution
de mon prog VB lorsque je demande l'impression d'étiquettes.
En fait comme un idiot, ma macro Autoexec masque la fenêtre de base de
données, et VB essaye d'exécuter un élément du menu alors que le menu n'est
plus accessible.
Seulement, mon logiciel est dans le commerce et le seul moyen c'est de
tester la présence de la macro autoexec lorsque j'arrive dans mon appli et
que je la supprime.
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
Alain Ménard
Une solution peut être même meilleure serait de pouvoir Afficher à nouveau la fenêtre de base de données par FENETRE AFFICHER, comme ca le report peut s'ouvir.
Je ne trouve pas la commande
-- Amicalement
Alain
"Alain Ménard" a écrit dans le message de news:41c949b5$0$17527$
Bonjour à tous,
J'ai une macro dans une base Access qui est gênante et empêche l'exécution de mon prog VB lorsque je demande l'impression d'étiquettes.
En fait comme un idiot, ma macro Autoexec masque la fenêtre de base de données, et VB essaye d'exécuter un élément du menu alors que le menu
n'est
plus accessible.
Seulement, mon logiciel est dans le commerce et le seul moyen c'est de tester la présence de la macro autoexec lorsque j'arrive dans mon appli et que je la supprime.
Un moyen ?
Pour info, j'ai tous les droits dessus
Merci
-- Amicalement
Alain
Une solution peut être même meilleure serait de pouvoir Afficher à nouveau
la fenêtre de base de données par FENETRE AFFICHER, comme ca le report peut
s'ouvir.
Je ne trouve pas la commande
--
Amicalement
Alain
"Alain Ménard" <amenard@vision-tech.fr> a écrit dans le message de
news:41c949b5$0$17527$636a15ce@news.free.fr...
Bonjour à tous,
J'ai une macro dans une base Access qui est gênante et empêche l'exécution
de mon prog VB lorsque je demande l'impression d'étiquettes.
En fait comme un idiot, ma macro Autoexec masque la fenêtre de base de
données, et VB essaye d'exécuter un élément du menu alors que le menu
n'est
plus accessible.
Seulement, mon logiciel est dans le commerce et le seul moyen c'est de
tester la présence de la macro autoexec lorsque j'arrive dans mon appli et
que je la supprime.
Une solution peut être même meilleure serait de pouvoir Afficher à nouveau la fenêtre de base de données par FENETRE AFFICHER, comme ca le report peut s'ouvir.
Je ne trouve pas la commande
-- Amicalement
Alain
"Alain Ménard" a écrit dans le message de news:41c949b5$0$17527$
Bonjour à tous,
J'ai une macro dans une base Access qui est gênante et empêche l'exécution de mon prog VB lorsque je demande l'impression d'étiquettes.
En fait comme un idiot, ma macro Autoexec masque la fenêtre de base de données, et VB essaye d'exécuter un élément du menu alors que le menu
n'est
plus accessible.
Seulement, mon logiciel est dans le commerce et le seul moyen c'est de tester la présence de la macro autoexec lorsque j'arrive dans mon appli et que je la supprime.
Un moyen ?
Pour info, j'ai tous les droits dessus
Merci
-- Amicalement
Alain
Eric
Bonjour Alain,
Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la liste des macros de la bd.(Référencer Microssoft Access 9.0 Object Library ou + au projet)
Dim appAccess As New Access.Application Private Sub Command1_Click() Dim appAccess As Object, cheminBD As String Dim oMacro As Object Set appAccess = CreateObject("Access.Application.9") cheminBD = "C:Documents and SettingsxXxMes documents BaseExo181203.mdb" appAccess.OpenCurrentDatabase cheminBD For Each oMacro In appAccess.CurrentProject.allmacros Debug.Print oMacro.Name Next oMacro appAccess.CloseCurrentDatabase Set appAccess = Nothing End Sub
A+ Eric
"Alain Ménard" écrivait news:41c949b5$0$17527$:
Bonjour à tous,
J'ai une macro dans une base Access qui est gênante et empêche l'exécution de mon prog VB lorsque je demande l'impression d'étiquettes.
En fait comme un idiot, ma macro Autoexec masque la fenêtre de base de données, et VB essaye d'exécuter un élément du menu alors que le menu n'est plus accessible.
Seulement, mon logiciel est dans le commerce et le seul moyen c'est de tester la présence de la macro autoexec lorsque j'arrive dans mon appli et que je la supprime.
Un moyen ?
Pour info, j'ai tous les droits dessus
Merci
Bonjour Alain,
Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la
liste des macros de la bd.(Référencer Microssoft Access 9.0 Object
Library ou + au projet)
Dim appAccess As New Access.Application
Private Sub Command1_Click()
Dim appAccess As Object, cheminBD As String
Dim oMacro As Object
Set appAccess = CreateObject("Access.Application.9")
cheminBD = "C:Documents and SettingsxXxMes documents
BaseExo181203.mdb"
appAccess.OpenCurrentDatabase cheminBD
For Each oMacro In appAccess.CurrentProject.allmacros
Debug.Print oMacro.Name
Next oMacro
appAccess.CloseCurrentDatabase
Set appAccess = Nothing
End Sub
J'ai une macro dans une base Access qui est gênante et empêche
l'exécution de mon prog VB lorsque je demande l'impression
d'étiquettes.
En fait comme un idiot, ma macro Autoexec masque la fenêtre de base de
données, et VB essaye d'exécuter un élément du menu alors que le menu
n'est plus accessible.
Seulement, mon logiciel est dans le commerce et le seul moyen c'est de
tester la présence de la macro autoexec lorsque j'arrive dans mon
appli et que je la supprime.
Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la liste des macros de la bd.(Référencer Microssoft Access 9.0 Object Library ou + au projet)
Dim appAccess As New Access.Application Private Sub Command1_Click() Dim appAccess As Object, cheminBD As String Dim oMacro As Object Set appAccess = CreateObject("Access.Application.9") cheminBD = "C:Documents and SettingsxXxMes documents BaseExo181203.mdb" appAccess.OpenCurrentDatabase cheminBD For Each oMacro In appAccess.CurrentProject.allmacros Debug.Print oMacro.Name Next oMacro appAccess.CloseCurrentDatabase Set appAccess = Nothing End Sub
A+ Eric
"Alain Ménard" écrivait news:41c949b5$0$17527$:
Bonjour à tous,
J'ai une macro dans une base Access qui est gênante et empêche l'exécution de mon prog VB lorsque je demande l'impression d'étiquettes.
En fait comme un idiot, ma macro Autoexec masque la fenêtre de base de données, et VB essaye d'exécuter un élément du menu alors que le menu n'est plus accessible.
Seulement, mon logiciel est dans le commerce et le seul moyen c'est de tester la présence de la macro autoexec lorsque j'arrive dans mon appli et que je la supprime.
Un moyen ?
Pour info, j'ai tous les droits dessus
Merci
Eric
re,
Marche pas pour ce que tu veux faire car on ne peut pas supprimer un objet de la collection AllMacros et ca verrouille la bd. Désolé
Eric
Eric écrivait news:XnF95C77B7B858BfframZZhotmailcom@ 207.46.248.16:
Bonjour Alain,
Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la liste des macros de la bd.(Référencer Microssoft Access 9.0 Object Library ou + au projet)
Dim appAccess As New Access.Application Private Sub Command1_Click() Dim appAccess As Object, cheminBD As String Dim oMacro As Object Set appAccess = CreateObject("Access.Application.9") cheminBD = "C:Documents and SettingsxXxMes documents BaseExo181203.mdb" appAccess.OpenCurrentDatabase cheminBD For Each oMacro In appAccess.CurrentProject.allmacros Debug.Print oMacro.Name Next oMacro appAccess.CloseCurrentDatabase Set appAccess = Nothing End Sub
A+ Eric
re,
Marche pas pour ce que tu veux faire car on ne peut pas supprimer un objet
de la collection AllMacros et ca verrouille la bd. Désolé
Eric
Eric <f_framZZ@hotmail.com> écrivait news:XnF95C77B7B858BfframZZhotmailcom@
207.46.248.16:
Bonjour Alain,
Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la
liste des macros de la bd.(Référencer Microssoft Access 9.0 Object
Library ou + au projet)
Dim appAccess As New Access.Application
Private Sub Command1_Click()
Dim appAccess As Object, cheminBD As String
Dim oMacro As Object
Set appAccess = CreateObject("Access.Application.9")
cheminBD = "C:Documents and SettingsxXxMes documents
BaseExo181203.mdb"
appAccess.OpenCurrentDatabase cheminBD
For Each oMacro In appAccess.CurrentProject.allmacros
Debug.Print oMacro.Name
Next oMacro
appAccess.CloseCurrentDatabase
Set appAccess = Nothing
End Sub
Marche pas pour ce que tu veux faire car on ne peut pas supprimer un objet de la collection AllMacros et ca verrouille la bd. Désolé
Eric
Eric écrivait news:XnF95C77B7B858BfframZZhotmailcom@ 207.46.248.16:
Bonjour Alain,
Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la liste des macros de la bd.(Référencer Microssoft Access 9.0 Object Library ou + au projet)
Dim appAccess As New Access.Application Private Sub Command1_Click() Dim appAccess As Object, cheminBD As String Dim oMacro As Object Set appAccess = CreateObject("Access.Application.9") cheminBD = "C:Documents and SettingsxXxMes documents BaseExo181203.mdb" appAccess.OpenCurrentDatabase cheminBD For Each oMacro In appAccess.CurrentProject.allmacros Debug.Print oMacro.Name Next oMacro appAccess.CloseCurrentDatabase Set appAccess = Nothing End Sub
A+ Eric
Alain Ménard
Bonjour Eric,
Merci de t'être penché sur mon souci.
J'ai réussi à afficher la fenetre de base de données. Pour cela ne pas utiliser la commande : WindowsUnhide car cela affiche une boîte de dialogue et le sendkeys n'est pas conseillé car peu fiable.
Alors j'ai trouvé la soluce suivante :
.DoCmd.SelectObject acTable, "Collection", True
En demandant à sélectionner une table existante, cela réaffiche la fenetre de base de données et du coup je peux à nouveau lancer mon report en preview, ouf.
Merci
Alain
"Eric" a écrit dans le message de news:
re,
Marche pas pour ce que tu veux faire car on ne peut pas supprimer un objet de la collection AllMacros et ca verrouille la bd. Désolé
Eric
Eric écrivait
news:XnF95C77B7B858BfframZZhotmailcom@
207.46.248.16:
> Bonjour Alain, > > Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la > liste des macros de la bd.(Référencer Microssoft Access 9.0 Object > Library ou + au projet) > > Dim appAccess As New Access.Application > Private Sub Command1_Click() > Dim appAccess As Object, cheminBD As String > Dim oMacro As Object > Set appAccess = CreateObject("Access.Application.9") > cheminBD = "C:Documents and SettingsxXxMes documents > BaseExo181203.mdb" > appAccess.OpenCurrentDatabase cheminBD > For Each oMacro In appAccess.CurrentProject.allmacros > Debug.Print oMacro.Name > Next oMacro > appAccess.CloseCurrentDatabase > Set appAccess = Nothing > End Sub > > A+ > Eric
Bonjour Eric,
Merci de t'être penché sur mon souci.
J'ai réussi à afficher la fenetre de base de données. Pour cela ne pas
utiliser la commande : WindowsUnhide car cela affiche une boîte de dialogue
et le sendkeys n'est pas conseillé car peu fiable.
Alors j'ai trouvé la soluce suivante :
.DoCmd.SelectObject acTable, "Collection", True
En demandant à sélectionner une table existante, cela réaffiche la fenetre
de base de données et du coup je peux à nouveau lancer mon report en
preview, ouf.
Merci
Alain
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF95C77FBBDE721fframZZhotmailcom@207.46.248.16...
re,
Marche pas pour ce que tu veux faire car on ne peut pas supprimer un objet
de la collection AllMacros et ca verrouille la bd. Désolé
Eric
Eric <f_framZZ@hotmail.com> écrivait
news:XnF95C77B7B858BfframZZhotmailcom@
207.46.248.16:
> Bonjour Alain,
>
> Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la
> liste des macros de la bd.(Référencer Microssoft Access 9.0 Object
> Library ou + au projet)
>
> Dim appAccess As New Access.Application
> Private Sub Command1_Click()
> Dim appAccess As Object, cheminBD As String
> Dim oMacro As Object
> Set appAccess = CreateObject("Access.Application.9")
> cheminBD = "C:Documents and SettingsxXxMes documents
> BaseExo181203.mdb"
> appAccess.OpenCurrentDatabase cheminBD
> For Each oMacro In appAccess.CurrentProject.allmacros
> Debug.Print oMacro.Name
> Next oMacro
> appAccess.CloseCurrentDatabase
> Set appAccess = Nothing
> End Sub
>
> A+
> Eric
J'ai réussi à afficher la fenetre de base de données. Pour cela ne pas utiliser la commande : WindowsUnhide car cela affiche une boîte de dialogue et le sendkeys n'est pas conseillé car peu fiable.
Alors j'ai trouvé la soluce suivante :
.DoCmd.SelectObject acTable, "Collection", True
En demandant à sélectionner une table existante, cela réaffiche la fenetre de base de données et du coup je peux à nouveau lancer mon report en preview, ouf.
Merci
Alain
"Eric" a écrit dans le message de news:
re,
Marche pas pour ce que tu veux faire car on ne peut pas supprimer un objet de la collection AllMacros et ca verrouille la bd. Désolé
Eric
Eric écrivait
news:XnF95C77B7B858BfframZZhotmailcom@
207.46.248.16:
> Bonjour Alain, > > Ci dessous un bout de code qui t'affiche dans la fenêtre Exécution la > liste des macros de la bd.(Référencer Microssoft Access 9.0 Object > Library ou + au projet) > > Dim appAccess As New Access.Application > Private Sub Command1_Click() > Dim appAccess As Object, cheminBD As String > Dim oMacro As Object > Set appAccess = CreateObject("Access.Application.9") > cheminBD = "C:Documents and SettingsxXxMes documents > BaseExo181203.mdb" > appAccess.OpenCurrentDatabase cheminBD > For Each oMacro In appAccess.CurrentProject.allmacros > Debug.Print oMacro.Name > Next oMacro > appAccess.CloseCurrentDatabase > Set appAccess = Nothing > End Sub > > A+ > Eric