OVH Cloud OVH Cloud

événement sur formatage d'état

1 réponse
Avatar
Bonjour,

J'ai un formulaire qui sert =E0 inventorier une collection.=20
Chaque objet poss=E8de sa photo. Quand je fais une recherche=20
=E0 l'aide des filtres, j'obtiens le r=E9sultat de ma=20
recherche sous forme d'=E9tat. J'ai mis sur cet =E9tat une=20
proc=E9dure =E9v=E9nementielle au formatage qui permet de voir=20
sur l'=E9tat la bonne photo qui va avec le bon=20
enregistrement. La voici:

Private Sub D=E9tail_Format(Cancel As Integer, FormatCount=20
As Integer)
Dim strBase, strChemin
If Me.photo <> "" Then
' R=E9pertoire de base
strBase =3D "" & CurrentProject.Path
=20
' Chemin complet de l'image
strChemin =3D strBase & "\" & Me.photo
=20
' Charger l'image
Me.imgApercu.Picture =3D strChemin
Me.imgApercu.Visible =3D True
Else
Me.imgApercu.Picture =3D ""
Me.imgApercu.Visible =3D False
End If
End Sub


Maintenant, dans mon formulaire, j'ai un sous-formulaire=20
qui me permet grace =E0 deux champs texte (ann=E9e min et=20
ann=E9e max)de rechercher les enregistrement qui=20
appartiennent =E0 une tranche d'ann=E9e. Un bouton reli=E9 =E0 une=20
macro ex=E9cute une requ=EAte qui marche bien et fait ouvrir=20
le m=EAme =E9tat (cit=E9 plus haut)pour afficher le r=E9sultat.

Mon probl=E8me est que si l'utilisateur clic sur le bouton=20
sans avoir renseign=E9 ces deux champs OU que le r=E9sultat de=20
la recherche est null car il n'y a pas d'enregistrement=20
qui corresponde aux valeurs introduites, il apparait un=20
message d'erreur:

expression sans param=E8tre dans le vb qui fait r=E9f=E9rence au=20
code ci haut mentionn=E9.

Si j'enl=E8ve ma proc=E9dure =E9v=E9nementielle sur le formatage=20
de l'=E9tat, mon probl=E8me est r=E9gl=E9, je n'ai plus ce message=20
et l'=E9tat se pr=E9sente vide mais pour les autres recherches=20
ou il y aura un r=E9sultat sur l'=E9tat, les photos ne=20
suivront pas.=20

Comment faire pour r=E9gler ce probl=E8me???

Merci

FB

1 réponse

Avatar
Raymond [mvp]
Bonsoir.

il semblerait que tu n'exploites pas l'événement Report_NoData qui te dit si
tu n'as pas d'enregistrement dans ta requête, avec la possibilité d'arrêter
l'état et de retourner au formulaire.

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


a écrit dans le message de
news:ea5001c43cdd$7538eb40$
Bonjour,

J'ai un formulaire qui sert à inventorier une collection.
Chaque objet possède sa photo. Quand je fais une recherche
à l'aide des filtres, j'obtiens le résultat de ma
recherche sous forme d'état. J'ai mis sur cet état une
procédure événementielle au formatage qui permet de voir
sur l'état la bonne photo qui va avec le bon
enregistrement. La voici:

Private Sub Détail_Format(Cancel As Integer, FormatCount
As Integer)
Dim strBase, strChemin
If Me.photo <> "" Then
' Répertoire de base
strBase = "" & CurrentProject.Path

' Chemin complet de l'image
strChemin = strBase & "" & Me.photo

' Charger l'image
Me.imgApercu.Picture = strChemin
Me.imgApercu.Visible = True
Else
Me.imgApercu.Picture = ""
Me.imgApercu.Visible = False
End If
End Sub


Maintenant, dans mon formulaire, j'ai un sous-formulaire
qui me permet grace à deux champs texte (année min et
année max)de rechercher les enregistrement qui
appartiennent à une tranche d'année. Un bouton relié à une
macro exécute une requête qui marche bien et fait ouvrir
le même état (cité plus haut)pour afficher le résultat.

Mon problème est que si l'utilisateur clic sur le bouton
sans avoir renseigné ces deux champs OU que le résultat de
la recherche est null car il n'y a pas d'enregistrement
qui corresponde aux valeurs introduites, il apparait un
message d'erreur:

expression sans paramètre dans le vb qui fait référence au
code ci haut mentionné.

Si j'enlève ma procédure événementielle sur le formatage
de l'état, mon problème est réglé, je n'ai plus ce message
et l'état se présente vide mais pour les autres recherches
ou il y aura un résultat sur l'état, les photos ne
suivront pas.

Comment faire pour régler ce problème???

Merci

FB