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

Valeur Null dans une condition

12 réponses
Avatar
Jacques
Bonsoir,

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

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

Merci pour votre aide

Salutations

10 réponses

1 2
Avatar
Willi2004
Bonsoir Jacques.
Y a-t-il un message d'erreur? Lequel?

"Jacques" a écrit dans le message de news:

| 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
|
Avatar
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)
Avatar
Jacques
On 28 juil, 11:26, "3stone" wrote:
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

Avatar
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)

Avatar
Jacques
On 28 juil, 20:00, "3stone" wrote:
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.


Avatar
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)

Avatar
Jacques
On 29 juil, 21:47, "3stone" wrote:
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


Avatar
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)


Avatar
jerome crevecoeur
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" wrote:
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





Avatar
Jacques
On 31 juil, 11:22, "3stone" wrote:
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



1 2