Bonsoir à tous
J'aimerai savoir le code VBA /fonction qui retourne le nom d'un rapport chargé
merci
Bonsoir à tous
J'aimerai savoir le code VBA /fonction qui retourne le nom d'un rapport chargé
merci
Bonjour,
Tu peux énumérer tous les rapports en état chargé et retourner leur nom mais je ne vois pas comment tu peux en cibler un en particulier...
Argy
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
Bonjour,
Si j'ai bien compris
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part currentproject.AllReports("monreport").IsLoaded
Détecter les modifications formulaire Cloud storage et ACCESS
Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie
Bonjour
La solution en passant par allreports ne permet pas de savoir si une instance particuliere est chargee. Il est preferable d'utiliser la collection reports qui contient tous les etats qui sont charges
Par exemple, si 1 seule instance ne eput etre chargee a un moment donnee (utilisation du docmd.openreport), alors
autre approche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim R as report on error resume next Set R=reports("NomEtat") .... (Si R est nothing, alors l'etat n'est pas charge)
J'espere que cela t'aidera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public Function EtatCharge(NomEtat as string) as boolean on error resume next EtatCharge=NOT (reports("NomEtat") IS NOTHING) end function
Merci à ceux qui ont participé à ce debat, j'ai bien bénificé de nouveaux astuces, mais qu'ils ne s'agit pas de ma question :
" Il y a à chaque fois, une instance d'un etat chargé ,et j'aimerais savoir son nom "
Merci.
Bonsoir,
@alasomed, si tu veux une réponse claire, il faudrait une explication claire !
C'est à dire, comment.... pourquoi.... quand ?Il y a à chaque fois, une instance d'un etat chargé
de l'instance ou de l'état... (bon je sais c'est petit !)et j'aimerais savoir son nom
==> Quel en est le but ?
![]()
« Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
- Confucius -
Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
Tous les cours Office
Solutions d'Entreprise
![]()
Voilà .. pour un formulaire :
la Méthode (.CurrentView) avec un formulaire est accessible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 If Forms(i).CurrentView <> 0 Then VarMonFrm = Forms(i).Name
Mais avec un Etat est inaccessible ,
et l'Access retourne une erreure
Je n'ai pas bien compris ton objectif...
Mais bon, voilà une fonction qui te permettra d'aller où tu veux :
(A toi de la peaufiner comme tu l'entends)
Argy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Public Enum m_eObjectType eIsForm eIsReport End Enum Public Function ObjectIsLoaded(ByVal ObjectName As String, ByVal ObjectType As m_eObjectType) As Boolean '--------------------------------------------------------------------------- ' Procedure : ObjectIsLoaded ' DateTime : 14/04/2009 ' Author : Argyronet ' Purpose : Vérifie si un objet (Form ou Report) est chargé '........................................................................... ' Parameters : ObjectName = Nom de l'objet ' ObjectType = Type de l'objet ' Return Codes : Boolean = True si l'objet est chargé '...................................................................... ' Evolutions : '--------------------------------------------------------------------------- Const OBJECT_IS_CLOSED As Long = 0 Dim oAccessObject As AccessObject On Error GoTo ObjectIsLoaded_Error Select Case ObjectType Case eIsForm Set oAccessObject = CurrentProject.AllForms(ObjectName) Case eIsReport Set oAccessObject = CurrentProject.AllReports(ObjectName) End Select If oAccessObject.IsLoaded Then ObjectIsLoaded = (oAccessObject.CurrentView <> acCurViewDesign) End If Set oAccessObject = Nothing On Error GoTo 0 ObjectIsLoaded_Exit: Exit Function ObjectIsLoaded_Error: ObjectIsLoaded = False Resume ObjectIsLoaded_Exit End Function
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
Merçi Bq cher Argy Votre réponce éclaire mon chemin ..
voilà J'arrive à ecrire
et ça marche .. merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Function RptChargé() As String Dim obj As AccessObject, dbs As Object Set dbs = Application.CurrentProject For Each obj In dbs.AllReports If obj.IsLoaded = True Then RptChargé = obj.Name Exit For End If Next obj End Function
N'oublie pas le
à la fin de ta fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set dbs = Nothing
Argy
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
Partager