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

Chargement d'une valeur dans un controle Zone de texte d'un état

1 réponse
Avatar
ElXav
Bonjour la Communaut=E9,

Dans une application Access XP, j'ai dans un =E9tat, un controle de type
"Zone de texte", dont la "Source contr=F4le" est <=3D=C9tats!
ett_histo_dechets.getFiltre> (sans les < >).

getFiltre est une fonction enregistr=E9e dans le module de l'=E9tat, qui
permet de r=E9cup=E9rer une valeur.

Voici le code dans l'=E9tat

Dim filtreTest As String

Public Function getFiltre() As String
getFiltre =3D filtreTest
End Function

Private Sub Report_Open(Cancel As Integer)
Dim strArgs() As String

If Me.OpenArgs <> -1 Then
'OpenArgs :
' 0. Clause ORDER BY (sans la chaine "ORDER BY")
' 1. chaine strFiltre permettant d'afficher les filtre
pr=E9sents.
strArgs =3D Split(Me.OpenArgs, "|")
Me.OrderBy =3D strArgs(0)
Me.OrderByOn =3D True
filtreTest =3D strArgs(1)

End If
End Sub

Lors de l'ouverture de l'=E9tat, on r=E9cup=E8re une partie de l'argument
pass=E9 lors de l'OpenReport, pour la placer dans la variable
filtreTest.
Le contenu de cette variable lu par la fonction getFiltre.

Sous XP, ca fonctionne.

Sous 2007, le controle "Zone de texte" affiche "#Nom?" lors de
l'aperc=E7u de l'=E9tat.

Y-a-t'il un param=E9trage/astuce pour faire en sorte que l'appel =E0 la
fonction int=E9gr=E9e dans l'=E9tat fonctionne depuis la propri=E9t=E9 "Sou=
rce
contr=F4le" de ma zone de texte?

Merci pour vos suggestions.

Cordialement.
Xav.

1 réponse

Avatar
3stone
Salut,

ElXav wrote:
Bonjour la Communauté,

Dans une application Access XP, j'ai dans un état, un controle de type
"Zone de texte", dont la "Source contrôle" est <=États!
ett_histo_dechets.getFiltre> (sans les < >).

getFiltre est une fonction enregistrée dans le module de l'état, qui
permet de récupérer une valeur.

Voici le code dans l'état

Dim filtreTest As String

Public Function getFiltre() As String
getFiltre = filtreTest
End Function

Private Sub Report_Open(Cancel As Integer)
Dim strArgs() As String

If Me.OpenArgs <> -1 Then
'OpenArgs :
' 0. Clause ORDER BY (sans la chaine "ORDER BY")
' 1. chaine strFiltre permettant d'afficher les filtre
présents.
strArgs = Split(Me.OpenArgs, "|")
Me.OrderBy = strArgs(0)
Me.OrderByOn = True
filtreTest = strArgs(1)

End If
End Sub

Lors de l'ouverture de l'état, on récupère une partie de l'argument
passé lors de l'OpenReport, pour la placer dans la variable
filtreTest.
Le contenu de cette variable lu par la fonction getFiltre.

Sous XP, ca fonctionne.

Sous 2007, le controle "Zone de texte" affiche "#Nom?" lors de
l'apercçu de l'état.




Utilise des crochets "[ ]" pour entourer tous les noms d'objets
qui contiennent des espaces ou des caractères accentués ou
barbares.

Ton test sur OpenArgs n'est pas correct non plus!
Car OpenArgs retourne un string et non un bolean...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)