Valeur Null dans une condition

Le
Jacques
Bonsoir,

Pourquoi lorsque txtPhoto est null le code ne passe pas sur la ligne
"photosvide.jpg"

If IsNull(Me!txtPhoto) Then
Me.ImageFrame.Picture = strBase & "photosvide.jpg"
Else
Me!ImageFrame.Picture = strBase & "" & strImagePath
End If

Merci pour votre aide

Salutations
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Willi2004
Le #6300891
Bonsoir Jacques.
Y a-t-il un message d'erreur? Lequel?

"Jacques"
| Bonsoir,
|
| Pourquoi lorsque txtPhoto est null le code ne passe pas sur la ligne
| "photosvide.jpg"
|
| If IsNull(Me!txtPhoto) Then
| Me.ImageFrame.Picture = strBase & "photosvide.jpg"
| Else
| Me!ImageFrame.Picture = strBase & "" & strImagePath
| End If
|
| Merci pour votre aide
|
| Salutations
|
3stone
Le #6300871
Salut,

"Jacques"
| Pourquoi lorsque txtPhoto est null le code ne passe pas sur la ligne
| "photosvide.jpg"
|
| If IsNull(Me!txtPhoto) Then
| Me.ImageFrame.Picture = strBase & "photosvide.jpg"
| Else
| Me!ImageFrame.Picture = strBase & "" & strImagePath
| End If


Le code est placé à quel endroit ?

En mode pas à pas, quel est la valeur de Me!txtPhoto ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Jacques
Le #6300841
On 28 juil, 11:26, "3stone"
Salut,

"Jacques"
| Pourquoi lorsque txtPhoto est null le code ne passe pas sur la ligne
| "photosvide.jpg"
|
| If IsNull(Me!txtPhoto) Then
| Me.ImageFrame.Picture = strBase & "photosvide.jpg"
| Else
| Me!ImageFrame.Picture = strBase & "" & strImagePath
| End If

Le code est placé à quel endroit ?

En mode pas à pas, quel est la valeur de Me!txtPhoto ?

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


Bonjour,

Pour Willi :
Aucun message d'érreur.

Pour 3stone:
Je suis dans la procédure événementielle au formatage d'un état
"Section Détail".

J'ai mis un Msgbox me.txtPhoto, il m'affiche le chemin de la photo
lorsqu'il existe autrement aucune valeur lorsqu'il est vide.

En mode pas à pas le survol de la souris me donne soit le nom du
chemin, soit Null comme valeur.

Salutations

3stone
Le #6300731
Salut,

"Jacques"
| If IsNull(Me!txtPhoto) Then
| Me.ImageFrame.Picture = strBase & "photosvide.jpg"



ImageFrame n'est pas un champ, mais une zone de texte...

Donc, écrit plutôt :

Me!ImageFrame.Picture = strBase & "photosvide.jpg"

Et le test peut se faire avec :

If len(Me!txtPhoto) = 0 then

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

Jacques
Le #6300721
On 28 juil, 20:00, "3stone"
Salut,

"Jacques"

| If IsNull(Me!txtPhoto) Then
| Me.ImageFrame.Picture = strBase & "photosvide.jpg"


ImageFrame n'est pas un champ, mais une zone de texte...

Donc, écrit plutôt :

Me!ImageFrame.Picture = strBase & "photosvide.jpg"

Et le test peut se faire avec :

If len(Me!txtPhoto) = 0 then

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


Bonsoir Pierre,

Non ça ne marche pas, mais peut-être une piste.

J'ai fait une manip en mettant directement le code dans la section
détail « Au formatage » et celui-ci fonctionne correctement.

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
If len(txtPhoto)>0Then
Me!ImageFrame.Picture = strBase & "" & strImagePath
Else
Me!ImageFrame.Picture = strBase & "photosvide.jpg"
End If
End Sub

Auparavant ce code était dans une Function

Function setImagePath()

If Ien(Me.txtPhoto) >0Then
Me!ImageFrame.Picture = strBase & "" & strImagePath
Else
Me!ImageFrame.Picture = strBase & "photosvide.jpg"
End If
End Function

Et je l'appelais par:

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
'--- Appel de la fonction ImagePath
Call setImagePath
En sub

Ou se trouve mon erreur ?
Car je voudrais utiliser la solution avec l'appel de la function.
Salutations.


3stone
Le #6300611
Salut,

"Jacques"
Non ça ne marche pas, mais peut-être une piste.
[...]

J'ai fait une manip en mettant directement le code dans la section
détail « Au formatage » et celui-ci fonctionne correctement.
[...]

Auparavant ce code était dans une Function

Function setImagePath()



Et la fonction se trouvait où ?
- dans un module général ?
dans ce cas, c'est normal qu'il ne reconnaisse pas "Me."
qui représente une instance du formulaire *dans* lequel
*doit* se trouver le code.

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

Jacques
Le #6300251
On 29 juil, 21:47, "3stone"
Salut,

"Jacques"

Non ça ne marche pas, mais peut-être une piste.
[...]

J'ai fait une manip en mettant directement le code dans la section
détail « Au formatage » et celui-ci fonctionne correctement.
[...]

Auparavant ce code était dans une Function

Function setImagePath()


Et la fonction se trouvait où ?
- dans un module général ?
dans ce cas, c'est normal qu'il ne reconnaisse pas "Me."
qui représente une instance du formulaire *dans* lequel
*doit* se trouver le code.

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


Bonsoir Pierre,

La fonction se trouve dans le même module que le code,

J'ai essayé avec Sub setImagePath()

Mais aucun résultat.

Salutations


3stone
Le #6300101
Salut,

"Jacques"
[...]
Et la fonction se trouvait où ?
- dans un module général ?
dans ce cas, c'est normal qu'il ne reconnaisse pas "Me."
qui représente une instance du formulaire *dans* lequel
*doit* se trouver le code.



La fonction se trouve dans le même module que le code,



Même module... mais où ?
- Un module de classe ("sous" le formulaire)
- Module standard (indépendant) qui ne connait pas 'Me'

Mais bon, tu avais une solution, il me semble...

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


jerome crevecoeur
Le #6315761
Bonjour,
Comme je te l'ai déjà dit 3 fois ton champ n'est peut être pas ég ale à
null mais égal à vide si tu as saisi quelque chose puis supprimer dan s
ta zone de texte, ce qui n'est pas la même chose!!

Donc si ton code est placé au bon endroit, essaye ceci:

strImagePath=Me!txtPhoto & ""

If Len(Me!txtPhoto & "")=0 Then
Me.ImageFrame.Picture = strBase & "photosvide.jpg"
Else
Me!ImageFrame.Picture = strBase & "" & strImagePath
End If


Cordialement

pour teste
On 29 juil, 21:47, "3stone"
Salut,

"Jacques"

Non ça ne marche pas, mais peut-être une piste.
[...]

J'ai fait une manip en mettant directement le code dans la section
détail « Au formatage » et celui-ci fonctionne correctement.
[...]

Auparavant ce code était dans une Function
Function setImagePath()
Et la fonction se trouvait où ?

- dans un module général ?
dans ce cas, c'est normal qu'il ne reconnaisse pas "Me."
qui représente une instance du formulaire *dans* lequel
*doit* se trouver le code.

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


Bonsoir Pierre,

La fonction se trouve dans le même module que le code,

J'ai essayé avec Sub setImagePath()

Mais aucun résultat.

Salutations





Jacques
Le #6315481
On 31 juil, 11:22, "3stone"
Salut,

"Jacques"
[...]

Et la fonction se trouvait où ?
- dans un module général ?
dans ce cas, c'est normal qu'il ne reconnaisse pas "Me."
qui représente une instance du formulaire *dans* lequel
*doit* se trouver le code.


La fonction se trouve dans le même module que le code,


Même module... mais où ?
- Un module de classe ("sous" le formulaire)
- Module standard (indépendant) qui ne connait pas 'Me'

Mais bon, tu avais une solution, il me semble...

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


Bonjour,

Module associé a mon état.

Salutations



Publicité
Poster une réponse
Anonyme