OVH Cloud OVH Cloud

IF

4 réponses
Avatar
brucat
Bonjour,

Dans un précedent message Raymond m'a aidé pour vérifier si des données
existent dans ma table.

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then

Me.matricule.SetFocus
end If

J'ai besoin de completer avec cette vérification
Si matricule existe alors message, si matricule + nom existe alors message,
si matricule existe avec nom différent alors message et si nom existe avec
matricule différent alors message

voici mon code


Evénement afterupdate du champ matricule

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0



Me.matricule.SetFocus

Msgbox.............

End if



Evénement afterupdate du champ Nom

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then


Me.matricule.SetFocus
msgbox .............



Elseif DCount("matricule", "latable", "[matricule]=" & Me.matricule)< 0 and
_
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then

Me.matricule.SetFocus
msgbox..............



Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0 Then

Me.matricule.SetFocus
msgbox.....................



end If


Je ne fonctionne pas, où est l'erreur.

merci pour vos réponses

brucat

4 réponses

Avatar
Raymond [mvp]
Bonjour.

ta dernière ligne n'est pas bonne:
Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and
_
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0 Then


Soit elle doit comporter un ElseIf car c'est une ligne de test (>0 ...
then) soit des instructions sans test.
exemple:
ElseIf DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
And _ .....

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"brucat" a écrit dans le message de news:
d01bth$66p$
Bonjour,

Dans un précedent message Raymond m'a aidé pour vérifier si des données
existent dans ma table.

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then

Me.matricule.SetFocus
end If

J'ai besoin de completer avec cette vérification
Si matricule existe alors message, si matricule + nom existe alors
message,
si matricule existe avec nom différent alors message et si nom existe avec
matricule différent alors message

voici mon code


Evénement afterupdate du champ matricule

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0



Me.matricule.SetFocus

Msgbox.............

End if



Evénement afterupdate du champ Nom

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then


Me.matricule.SetFocus
msgbox .............



Elseif DCount("matricule", "latable", "[matricule]=" & Me.matricule)< 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then

Me.matricule.SetFocus
msgbox..............



Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and
_
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0 Then

Me.matricule.SetFocus
msgbox.....................



end If


Je ne fonctionne pas, où est l'erreur.

merci pour vos réponses

brucat





Avatar
brucat
Bonjour,

Merci pour cette réponse. J'ai corrigé mon code et j'ai mis ElseIf car c'est
un dernier test.
Mais cela ne fonctionne toujours pas correctement.
Ex : Matricule : 1 Nom : TOTO

Si je saisie 1 et TOTO, le message "existe déjà" apparait
Si je saisie 1 et TITI, le message "existe déjà" apparait au lieu de
"matricule existe"
Si je saisie 2 et TOTO, le message "existe déjà" apparait au lieu de "nom
existe"

Est-ce dû au fait que ma clé primaire est sur Matricule et qu'access ne
vérifie que cette valeur.

Un peu bizarre..............

Merci pour ces explications.

Brucat
"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

ta dernière ligne n'est pas bonne:
Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0 Then


Soit elle doit comporter un ElseIf car c'est une ligne de test (>0 ...
then) soit des instructions sans test.
exemple:
ElseIf DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
And _ .....

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"brucat" a écrit dans le message de news:
d01bth$66p$
Bonjour,

Dans un précedent message Raymond m'a aidé pour vérifier si des données
existent dans ma table.

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and
_
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then

Me.matricule.SetFocus
end If

J'ai besoin de completer avec cette vérification
Si matricule existe alors message, si matricule + nom existe alors
message,
si matricule existe avec nom différent alors message et si nom existe
avec
matricule différent alors message

voici mon code


Evénement afterupdate du champ matricule

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0



Me.matricule.SetFocus

Msgbox.............

End if



Evénement afterupdate du champ Nom

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and
_
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then


Me.matricule.SetFocus
msgbox .............



Elseif DCount("matricule", "latable", "[matricule]=" & Me.matricule)< 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0 Then

Me.matricule.SetFocus
msgbox..............



Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0 Then

Me.matricule.SetFocus
msgbox.....................



end If


Je ne fonctionne pas, où est l'erreur.

merci pour vos réponses

brucat









Avatar
Raymond [mvp]
je ne peux pas vérifier ta procédure je ne la connais pas, mais vérifie bien
l'imbrication des if , tu vas trouver.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"brucat" a écrit dans le message de news:
d01oe2$h3u$
Bonjour,

Merci pour cette réponse. J'ai corrigé mon code et j'ai mis ElseIf car
c'est un dernier test.
Mais cela ne fonctionne toujours pas correctement.
Ex : Matricule : 1 Nom : TOTO

Si je saisie 1 et TOTO, le message "existe déjà" apparait
Si je saisie 1 et TITI, le message "existe déjà" apparait au lieu de
"matricule existe"
Si je saisie 2 et TOTO, le message "existe déjà" apparait au lieu de "nom
existe"

Est-ce dû au fait que ma clé primaire est sur Matricule et qu'access ne
vérifie que cette valeur.

Un peu bizarre..............

Merci pour ces explications.

Brucat
"Raymond [mvp]" a écrit dans le message
de news:
Bonjour.

ta dernière ligne n'est pas bonne:
Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0
Then


Soit elle doit comporter un ElseIf car c'est une ligne de test (>0 ...
then) soit des instructions sans test.
exemple:
ElseIf DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
And _ .....

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"brucat" a écrit dans le message de news:
d01bth$66p$
Bonjour,

Dans un précedent message Raymond m'a aidé pour vérifier si des données
existent dans ma table.

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and
_
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0
Then

Me.matricule.SetFocus
end If

J'ai besoin de completer avec cette vérification
Si matricule existe alors message, si matricule + nom existe alors
message,
si matricule existe avec nom différent alors message et si nom existe
avec
matricule différent alors message

voici mon code


Evénement afterupdate du champ matricule

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0



Me.matricule.SetFocus

Msgbox.............

End if



Evénement afterupdate du champ Nom

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0 and
_
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0
Then


Me.matricule.SetFocus
msgbox .............



Elseif DCount("matricule", "latable", "[matricule]=" & Me.matricule)< 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0
Then

Me.matricule.SetFocus
msgbox..............



Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0
Then

Me.matricule.SetFocus
msgbox.....................



end If


Je ne fonctionne pas, où est l'erreur.

merci pour vos réponses

brucat













Avatar
brucat
merci pour ses conseils
Brucat
"Raymond [mvp]" a écrit dans le message de
news:
je ne peux pas vérifier ta procédure je ne la connais pas, mais vérifie
bien l'imbrication des if , tu vas trouver.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"brucat" a écrit dans le message de news:
d01oe2$h3u$
Bonjour,

Merci pour cette réponse. J'ai corrigé mon code et j'ai mis ElseIf car
c'est un dernier test.
Mais cela ne fonctionne toujours pas correctement.
Ex : Matricule : 1 Nom : TOTO

Si je saisie 1 et TOTO, le message "existe déjà" apparait
Si je saisie 1 et TITI, le message "existe déjà" apparait au lieu de
"matricule existe"
Si je saisie 2 et TOTO, le message "existe déjà" apparait au lieu de
"nom existe"

Est-ce dû au fait que ma clé primaire est sur Matricule et qu'access ne
vérifie que cette valeur.

Un peu bizarre..............

Merci pour ces explications.

Brucat
"Raymond [mvp]" a écrit dans le message
de news:
Bonjour.

ta dernière ligne n'est pas bonne:
Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0
Then


Soit elle doit comporter un ElseIf car c'est une ligne de test (>0 ...
then) soit des instructions sans test.
exemple:
ElseIf DCount("matricule", "latable", "[matricule]=" & Me.matricule) >
0 And _ .....

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"brucat" a écrit dans le message de news:
d01bth$66p$
Bonjour,

Dans un précedent message Raymond m'a aidé pour vérifier si des données
existent dans ma table.

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0
Then

Me.matricule.SetFocus
end If

J'ai besoin de completer avec cette vérification
Si matricule existe alors message, si matricule + nom existe alors
message,
si matricule existe avec nom différent alors message et si nom existe
avec
matricule différent alors message

voici mon code


Evénement afterupdate du champ matricule

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0



Me.matricule.SetFocus

Msgbox.............

End if



Evénement afterupdate du champ Nom

If DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0
Then


Me.matricule.SetFocus
msgbox .............



Elseif DCount("matricule", "latable", "[matricule]=" & Me.matricule)< 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) > 0
Then

Me.matricule.SetFocus
msgbox..............



Else DCount("matricule", "latable", "[matricule]=" & Me.matricule) > 0
and _
DCount("Lesnoms", "latable", "[Lesnoms]='" & Me.Lenom & "'" ) < 0
Then

Me.matricule.SetFocus
msgbox.....................



end If


Je ne fonctionne pas, où est l'erreur.

merci pour vos réponses

brucat