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

Problème avec formulaire "chargé'

3 réponses
Avatar
Nesta
Bonjour à tous,

J'ai trouvé ce bout de code dans l'aide en ligne d'Access :

Sub AllForms()
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentProject
' Search for open AccessObject objects in AllForms collection.
For Each obj In dbs.AllForms
If obj.IsLoaded = True Then
' Print name of obj.
Debug.Print obj.Name
End If
Next obj
End Sub


Il sert à afficher le nom des formulaires ouverts (chargés) dans le projet
Access en cours.
Quand je le teste, il ne trouve aucun formulaire ouvert, alors qu'il y en a
bien. Savez-vous pourquoi ?
Merci d'avance à tous.


Nesta

3 réponses

Avatar
Raymond [mvp]
Bonjour nesta.

essaie ceci qui est plus court:

Sub lesForms()
Dim obj As AccessObject
For Each obj In CurrentProject.AllForms
If obj.IsLoaded Then
Debug.Print obj.Name
End If
Next obj
End Sub

ou bien encore plus court

Sub lesForms()
Dim obj As Form
For Each obj In Forms
Debug.Print obj.Name
Next obj
End Sub

forms étant la collection des formulaires ouverts
n'appelle jamais une procédure allforms qui est un mot réservé.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Nesta" a écrit dans le message de news:
ubPp%
| Bonjour à tous,
|
| J'ai trouvé ce bout de code dans l'aide en ligne d'Access :
|
| Sub AllForms()
| Dim obj As AccessObject, dbs As Object
| Set dbs = Application.CurrentProject
| ' Search for open AccessObject objects in AllForms collection.
| For Each obj In dbs.AllForms
| If obj.IsLoaded = True Then
| ' Print name of obj.
| Debug.Print obj.Name
| End If
| Next obj
| End Sub
|
|
| Il sert à afficher le nom des formulaires ouverts (chargés) dans le projet
| Access en cours.
| Quand je le teste, il ne trouve aucun formulaire ouvert, alors qu'il y en
a
| bien. Savez-vous pourquoi ?
| Merci d'avance à tous.
|
|
| Nesta
|
|
Avatar
3stone
Salut Nesta,

"Nesta"
| J'ai trouvé ce bout de code dans l'aide en ligne d'Access :
|
| Sub AllForms()
| Dim obj As AccessObject, dbs As Object
| Set dbs = Application.CurrentProject
| ' Search for open AccessObject objects in AllForms collection.
| For Each obj In dbs.AllForms
| If obj.IsLoaded = True Then
| ' Print name of obj.
| Debug.Print obj.Name
| End If
| Next obj
| End Sub
|
|
| Il sert à afficher le nom des formulaires ouverts (chargés) dans le projet
| Access en cours.
| Quand je le teste, il ne trouve aucun formulaire ouvert, alors qu'il y en a
| bien. Savez-vous pourquoi ?


Ton code fonctionne parfaitement tel quel...
et il affiche même les formulaires en qui se trouvent en mode création ;-)

Mais, tu utilise "Debug.print ... " ce qui affiche uniquement dans la
fenêtre d'exécution immédiate ! Serait ce cela ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Nesta
Bonjour à tous et merci pour vos réponses,

J'ai fermé ma base, ouverte de nouveau, et testé le bout de code, et ça
fonctionne maintenant, y compris ceux de Raymond.
Merci pour vos informations !

Nesta



"Nesta" a écrit dans le message de groupe de
discussion : ubPp#
Bonjour à tous,

J'ai trouvé ce bout de code dans l'aide en ligne d'Access :

Sub AllForms()
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentProject
' Search for open AccessObject objects in AllForms collection.
For Each obj In dbs.AllForms
If obj.IsLoaded = True Then
' Print name of obj.
Debug.Print obj.Name
End If
Next obj
End Sub


Il sert à afficher le nom des formulaires ouverts (chargés) dans le projet
Access en cours.
Quand je le teste, il ne trouve aucun formulaire ouvert, alors qu'il y en
a bien. Savez-vous pourquoi ?
Merci d'avance à tous.


Nesta