Pour forcer la saisie de certains champs, de type liste déroulante,
d'un formulaire, j'ai placé ce code sur l'événement "sur erreur" du
dit formulaire :
If DataErr = 3201 Or DataErr = 2169 Then
If Nz(Me![cmbThème], 0) = 0 Or IsNull(Me.cmbThème) Then
MsgBox "Le Thème de l'anomalie doit" & _
vbCrLf & "obligatoirement être renseigné !", vbInformation, "Attention
- " & pconNomAppli
ElseIf Str(Nz(Me![cmbOrigine], 0)) = 0 .....
...
Response = acDataErrContinue
End If
Ce code fonctionne parfaitement lorsque l'utilisateur omet de saisir
le thème (la valeur de la liste est alors égale à 0). Par contre, ce
code ne fonctionne plus lorsque l'utilisateur renseigne le champ, puis
l'efface (la valeur de la liste est alors égale à Null).
Le test If Isnull(Me.cmbThème) ne sert semble-t-il à rien, alors qu'un
test dans la fenêtre execution indique bien la valeur null pour la
liste.
Je ne comprends pas ? Et vous ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jeff
Bonjour
A tout hasard, aurais-tu essayé avec :
... If Len(Trim(Me![cmbThème])) = 0 Or IsNull(Me.cmbThème) Then ...
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
"Janko" a écrit dans le message de news:
Bonjour à tous,
Pour forcer la saisie de certains champs, de type liste déroulante, d'un formulaire, j'ai placé ce code sur l'événement "sur erreur" du dit formulaire :
If DataErr = 3201 Or DataErr = 2169 Then
If Nz(Me![cmbThème], 0) = 0 Or IsNull(Me.cmbThème) Then MsgBox "Le Thème de l'anomalie doit" & _ vbCrLf & "obligatoirement être renseigné !", vbInformation, "Attention - " & pconNomAppli ElseIf Str(Nz(Me![cmbOrigine], 0)) = 0 ..... ... Response = acDataErrContinue End If
Ce code fonctionne parfaitement lorsque l'utilisateur omet de saisir le thème (la valeur de la liste est alors égale à 0). Par contre, ce code ne fonctionne plus lorsque l'utilisateur renseigne le champ, puis l'efface (la valeur de la liste est alors égale à Null). Le test If Isnull(Me.cmbThème) ne sert semble-t-il à rien, alors qu'un test dans la fenêtre execution indique bien la valeur null pour la liste. Je ne comprends pas ? Et vous ?
Janko
Bonjour
A tout hasard, aurais-tu essayé avec :
...
If Len(Trim(Me![cmbThème])) = 0 Or IsNull(Me.cmbThème) Then
...
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
"Janko" <f.janko@free.fr> a écrit dans le message de
news:42c75681.0309050444.4813d4cf@posting.google.com...
Bonjour à tous,
Pour forcer la saisie de certains champs, de type liste déroulante,
d'un formulaire, j'ai placé ce code sur l'événement "sur erreur" du
dit formulaire :
If DataErr = 3201 Or DataErr = 2169 Then
If Nz(Me![cmbThème], 0) = 0 Or IsNull(Me.cmbThème) Then
MsgBox "Le Thème de l'anomalie doit" & _
vbCrLf & "obligatoirement être renseigné !", vbInformation, "Attention
- " & pconNomAppli
ElseIf Str(Nz(Me![cmbOrigine], 0)) = 0 .....
...
Response = acDataErrContinue
End If
Ce code fonctionne parfaitement lorsque l'utilisateur omet de saisir
le thème (la valeur de la liste est alors égale à 0). Par contre, ce
code ne fonctionne plus lorsque l'utilisateur renseigne le champ, puis
l'efface (la valeur de la liste est alors égale à Null).
Le test If Isnull(Me.cmbThème) ne sert semble-t-il à rien, alors qu'un
test dans la fenêtre execution indique bien la valeur null pour la
liste.
Je ne comprends pas ? Et vous ?
... If Len(Trim(Me![cmbThème])) = 0 Or IsNull(Me.cmbThème) Then ...
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
"Janko" a écrit dans le message de news:
Bonjour à tous,
Pour forcer la saisie de certains champs, de type liste déroulante, d'un formulaire, j'ai placé ce code sur l'événement "sur erreur" du dit formulaire :
If DataErr = 3201 Or DataErr = 2169 Then
If Nz(Me![cmbThème], 0) = 0 Or IsNull(Me.cmbThème) Then MsgBox "Le Thème de l'anomalie doit" & _ vbCrLf & "obligatoirement être renseigné !", vbInformation, "Attention - " & pconNomAppli ElseIf Str(Nz(Me![cmbOrigine], 0)) = 0 ..... ... Response = acDataErrContinue End If
Ce code fonctionne parfaitement lorsque l'utilisateur omet de saisir le thème (la valeur de la liste est alors égale à 0). Par contre, ce code ne fonctionne plus lorsque l'utilisateur renseigne le champ, puis l'efface (la valeur de la liste est alors égale à Null). Le test If Isnull(Me.cmbThème) ne sert semble-t-il à rien, alors qu'un test dans la fenêtre execution indique bien la valeur null pour la liste. Je ne comprends pas ? Et vous ?
Janko
f.janko
Bonjour,
Effectivement la seconde condition n'est pas utile ici. Seulement, cela induit que la première If str(Nz(Me![cmbThème],0)) = 0 Then ... ne fonctionne pas ! La valeur Null de la cmbBox n'est pas modifiée, et ce même en essayant la proposition de Jeff len(Trim(Nz(Me![cmbThème],0))). Quand la valeur de la liste est Null, elle reste Null et moi avec ! Est-ce un souci de type Variant ??!
Janko
Bonjour,
Effectivement la seconde condition n'est pas utile ici. Seulement,
cela induit que la première If str(Nz(Me![cmbThème],0)) = 0 Then ...
ne fonctionne pas ! La valeur Null de la cmbBox n'est pas modifiée, et
ce même en essayant la proposition de Jeff
len(Trim(Nz(Me![cmbThème],0))).
Quand la valeur de la liste est Null, elle reste Null et moi avec !
Est-ce un souci de type Variant ??!
Effectivement la seconde condition n'est pas utile ici. Seulement, cela induit que la première If str(Nz(Me![cmbThème],0)) = 0 Then ... ne fonctionne pas ! La valeur Null de la cmbBox n'est pas modifiée, et ce même en essayant la proposition de Jeff len(Trim(Nz(Me![cmbThème],0))). Quand la valeur de la liste est Null, elle reste Null et moi avec ! Est-ce un souci de type Variant ??!
Janko
Raymond
Bonjour.
seule une donnée de type variant peut recevoir (gérer) une valeur Null. voir aide en ligne Variant est un type de données spécial pouvant contenir des données de toutes sortes, à l'exception des données de type String de longueur fixe. Le type Variant prend désormais en charge les types définis par l'utilisateur. Une variable de type Variant peut également contenir les valeurs Empty, Error, Nothing et Null.
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Janko" a écrit dans le message de news:
Bonjour,
Effectivement la seconde condition n'est pas utile ici. Seulement, cela induit que la première If str(Nz(Me![cmbThème],0)) = 0 Then ... ne fonctionne pas ! La valeur Null de la cmbBox n'est pas modifiée, et ce même en essayant la proposition de Jeff len(Trim(Nz(Me![cmbThème],0))). Quand la valeur de la liste est Null, elle reste Null et moi avec ! Est-ce un souci de type Variant ??!
Janko
Bonjour.
seule une donnée de type variant peut recevoir (gérer) une valeur Null. voir
aide en ligne
Variant est un type de données spécial pouvant contenir des données de
toutes sortes, à l'exception des données de type String de longueur fixe. Le
type Variant prend désormais en charge les types définis par l'utilisateur.
Une variable de type Variant peut également contenir les valeurs Empty,
Error, Nothing et Null.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Janko" <f.janko@free.fr> a écrit dans le message de
news:42c75681.0309080112.74b3cdf4@posting.google.com...
Bonjour,
Effectivement la seconde condition n'est pas utile ici. Seulement,
cela induit que la première If str(Nz(Me![cmbThème],0)) = 0 Then ...
ne fonctionne pas ! La valeur Null de la cmbBox n'est pas modifiée, et
ce même en essayant la proposition de Jeff
len(Trim(Nz(Me![cmbThème],0))).
Quand la valeur de la liste est Null, elle reste Null et moi avec !
Est-ce un souci de type Variant ??!
seule une donnée de type variant peut recevoir (gérer) une valeur Null. voir aide en ligne Variant est un type de données spécial pouvant contenir des données de toutes sortes, à l'exception des données de type String de longueur fixe. Le type Variant prend désormais en charge les types définis par l'utilisateur. Une variable de type Variant peut également contenir les valeurs Empty, Error, Nothing et Null.
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Janko" a écrit dans le message de news:
Bonjour,
Effectivement la seconde condition n'est pas utile ici. Seulement, cela induit que la première If str(Nz(Me![cmbThème],0)) = 0 Then ... ne fonctionne pas ! La valeur Null de la cmbBox n'est pas modifiée, et ce même en essayant la proposition de Jeff len(Trim(Nz(Me![cmbThème],0))). Quand la valeur de la liste est Null, elle reste Null et moi avec ! Est-ce un souci de type Variant ??!