OVH Cloud OVH Cloud

Pour raymond

7 réponses
Avatar
NicolasB
Bonjour =E0 tous,

Ce message ne s'adresse pas qu'=E0 raymond, mais comme il=20
m'a donn=E9 une solution pour bloquer la croix d'un =E9tat.

J'ai r=E9ecrit tous le code que tu m'as fourni pour bloquer=20
la croix dans un module, et j'ai report=E9 sur un=20
report_open l'instruction suivante: legendevisible me,=20
false. Le probl=E8me ce que la croix et toujours active.

Merci de ton aide =E0 nouveau.

Nicolas

7 réponses

Avatar
Raymond [mvp]
Bonjour.

je viens de retester, chez moi ça fonctionne.
je te redonne la fonction car j'ai la flemme de rechercher la précédente,
fais attention il y a peut-être des lignes à ramener sur une seule ligne:

Option Compare Database
Option Explicit

Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Const Const_nIndex = -16
Private Const Légende = &HC00000

Public Function LégendeVisible(Etat As Report, Afficher As Boolean) _
As Boolean
Dim Rpt As Report
On Error GoTo ErreurVisible
Set Rpt = Etat
Dim StyleActuel As Long
Dim NouveauStyle As Long
StyleActuel = GetWindowLong(Rpt.hWnd, Const_nIndex)
If Afficher Then
NouveauStyle = StyleActuel Or Légende
Else
NouveauStyle = StyleActuel And Not Légende
End If
StyleActuel = SetWindowLong(Rpt.hWnd, Const_nIndex, NouveauStyle)
LégendeVisible = True
Exit Function
ErreurVisible:
LégendeVisible = False
End Function

Private Sub Report_Open(Cancel As Integer)
LégendeVisible Me, False

End Sub

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"NicolasB" a écrit dans le message de
news:492e01c42c1f$4ed7f280$
Bonjour à tous,

Ce message ne s'adresse pas qu'à raymond, mais comme il
m'a donné une solution pour bloquer la croix d'un état.

J'ai réecrit tous le code que tu m'as fourni pour bloquer
la croix dans un module, et j'ai reporté sur un
report_open l'instruction suivante: legendevisible me,
false. Le problème ce que la croix et toujours active.

Merci de ton aide à nouveau.

Nicolas
Avatar
NicolasB
Bonjour raymond,

Merci ton aide si précieuse.
Mais j'ai pb: j'ai mis dans mon état sur ouverture le code
suivant:
Private Sub Report_Open(Cancel As Integer)
LégendeVisible Me, False

End Sub

dès que je lance mon formulaire, access me crie une erreur
qui :

Erreur de compilation:
Nom ambigu détecté: LégendeVisible

Au secours raymond

Merci
nicolas

-----Message d'origine-----
Bonjour.

je viens de retester, chez moi ça fonctionne.
je te redonne la fonction car j'ai la flemme de
rechercher la précédente,

fais attention il y a peut-être des lignes à ramener sur
une seule ligne:


Option Compare Database
Option Explicit

Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Const Const_nIndex = -16
Private Const Légende = &HC00000

Public Function LégendeVisible(Etat As Report, Afficher
As Boolean) _

As Boolean
Dim Rpt As Report
On Error GoTo ErreurVisible
Set Rpt = Etat
Dim StyleActuel As Long
Dim NouveauStyle As Long
StyleActuel = GetWindowLong(Rpt.hWnd, Const_nIndex)
If Afficher Then
NouveauStyle = StyleActuel Or Légende
Else
NouveauStyle = StyleActuel And Not Légende
End If
StyleActuel = SetWindowLong(Rpt.hWnd, Const_nIndex,
NouveauStyle)

LégendeVisible = True
Exit Function
ErreurVisible:
LégendeVisible = False
End Function

Private Sub Report_Open(Cancel As Integer)
LégendeVisible Me, False

End Sub

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"NicolasB" a écrit
dans le message de

news:492e01c42c1f$4ed7f280$
Bonjour à tous,

Ce message ne s'adresse pas qu'à raymond, mais comme il
m'a donné une solution pour bloquer la croix d'un état.

J'ai réecrit tous le code que tu m'as fourni pour bloquer
la croix dans un module, et j'ai reporté sur un
report_open l'instruction suivante: legendevisible me,
false. Le problème ce que la croix et toujours active.

Merci de ton aide à nouveau.

Nicolas



.



Avatar
Raymond [mvp]
tu as deux cette fonction dans ton application, supprimes en une.
Alt+F11

compiler et vérifier.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"NicolasB" a écrit dans le message de
news:4c8501c42c32$88dfc5d0$
Bonjour raymond,

Merci ton aide si précieuse.
Mais j'ai pb: j'ai mis dans mon état sur ouverture le code
suivant:
Private Sub Report_Open(Cancel As Integer)
LégendeVisible Me, False

End Sub

dès que je lance mon formulaire, access me crie une erreur
qui :

Erreur de compilation:
Nom ambigu détecté: LégendeVisible

Au secours raymond

Merci
nicolas
Avatar
NicolasB
Effectivement j'avais deux fois la même fonction.

J'en ai supprimer une. Mais maintenant il ne se passe plus
rien et la croix et toujours active

Merci raymond
-----Message d'origine-----
tu as deux cette fonction dans ton application, supprimes
en une.

Alt+F11

compiler et vérifier.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"NicolasB" a écrit
dans le message de

news:4c8501c42c32$88dfc5d0$
Bonjour raymond,

Merci ton aide si précieuse.
Mais j'ai pb: j'ai mis dans mon état sur ouverture le code
suivant:
Private Sub Report_Open(Cancel As Integer)
LégendeVisible Me, False

End Sub

dès que je lance mon formulaire, access me crie une erreur
qui :

Erreur de compilation:
Nom ambigu détecté: LégendeVisible

Au secours raymond

Merci
nicolas


.



Avatar
Raymond [mvp]
My God !

Peux-tu me passer ta base en zip ou en rar (obligatoire) en enlevant le XYZ.
dans mon adresse ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"NicolasB" a écrit dans le message de
news:4a8901c42c3e$ae8f7c10$
Effectivement j'avais deux fois la même fonction.

J'en ai supprimer une. Mais maintenant il ne se passe plus
rien et la croix et toujours active

Merci raymond
Avatar
NicolasB
Je te transmet la base

Merci encore
-----Message d'origine-----
My God !

Peux-tu me passer ta base en zip ou en rar (obligatoire)
en enlevant le XYZ.

dans mon adresse ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"NicolasB" a écrit
dans le message de

news:4a8901c42c3e$ae8f7c10$
Effectivement j'avais deux fois la même fonction.

J'en ai supprimer une. Mais maintenant il ne se passe plus
rien et la croix et toujours active

Merci raymond



.



Avatar
Raymond [mvp]
Ton état est en maximize et c'est pour ça que la barre reste au départ. Fais
restore et tu verras que la barre a bien disparu.
Il faudrait que la fenêtre soit mise en normal (restore en vba) avant de
lancer l'état. Est-ce possible ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"NicolasB" a écrit dans le message de
news:4d2801c42c42$0533c8c0$
Je te transmet la base