Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2011, 10h51   #1
Nouveau Membre du Club
 
Homme
Inscription : décembre 2009
Messages : 144
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 144
Points : 30
Points : 30
Par défaut Afficher une pop up après vérification dans une table

Bonjour,

j'ai un petit soucis pour afficher une pop conditionnelle, je m'explique, j'ai un formulaire qui contient 2 champs (Carrier et ID_N) qui vont alimenter ma table1.
Je saisie une seule fois et le Carrier et ensuite Je saisie tous les ID_N présent sur une liste (Environ 50).
Lors de chaque saisie d'un ID_N, je souhaite vérifié que le Carrier que j'ai saisie dans mon formulaire corresponde au Carrier présent dans ma table2.
Si c'est le cas, l'ID_N saisie alimentera ma table1, si ce n'est pas le cas, je souhaite afficher une Pop Up d'information pour l'utilisateur.
Je souhaites en faite faire pour chaque saisie de l'ID_N effectuer une sorte de RechercheV comme dans excel avec POp up si le résultat est faux.
Je ne sais pas trop comment construire ma macro.

J'espere ne pas avoir été trop brouillon dans mes explications.
Merci de votre aide.
Budy123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 20h44   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Je ne suis pas certain d'avoir bien compris ton besoin mais l'équivalent de VLookUp() est DFirst().

Je ferai une procédure de ce type :

Code :
1
2
3
4
5
6
7
8
9
10
11
public sub VerifierCarrier(prmIdCarrier as variant)
 
   if not isnull(prmIdCarrier) then
 
     if isNull(DFirst("IdCarrier", "Table2", "[IdCarrier]=" & prmIdCarrier)) then
        msgbox "Le Carrier n'existe pas.",vbInformation
     end if
 
   end if
 
end sub
DFirst() retourne null si la donnée cherchée n'existe pas.

Tu pourrais déclencher VerifierCarrier() sur l'événement ApresMAJ ou AvantMAJ cela dépend un peu de comment tu veux gérer l'abscence.

A+

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 22h57   #3
Nouveau Membre du Club
 
Homme
Inscription : décembre 2009
Messages : 144
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 144
Points : 30
Points : 30
J'ai testé plusieurs solution sans success.
En faite avant d'enregistrer mon "ID_N" et mon "Carrier", je souhaite vérifier que mon Me.Carrier et celui qui se trouve dans ma Table2 pour la ligne correspondant à l'ID_N soit bien les memes

Un petit schema vaut mieux qu'une grande explication.

Form :
-Me.ID_N = 123
-Me.Carrier = UKF

Dans ma Table2 :
Si pour l'enregistrement correspondant à "Me.ID_N" 123 le Carrier(Table2) = UKF c'est OK
En revanche si pour l'enregistrement correspondant à "Me.ID_N" 123 le Carrier(Table2) = RFG alors j'affiche un MsgBox.
Budy123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 00h55   #4
Nouveau Membre du Club
 
Homme
Inscription : décembre 2009
Messages : 144
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 144
Points : 30
Points : 30
J'ai trouvé une partie de la solution, le code fonctionne, mais je souhaites que le MsgBox s'affiche que si le ServiceLevel ne correspond pas. Or dans avec ma ligne de code il s'affiche si le carrier correspond.

Code :
1
2
3
4
5
 
If Nz(DLookup("[Ex_CaseID]", "tblExceed", "[Ex_CaseID]='" & Me.CaseID & "' AND [Ex_ServiceLevel]='" & Me.ServiceLevel & "'")) = True Then
MsgBox "Le Drop ID ne correspond pas au Carrier sélectioné", vbCritical, "Duplicate!!"
Cancel = True
End If
Budy123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 17h48   #5
Nouveau Membre du Club
 
Homme
Inscription : décembre 2009
Messages : 144
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 144
Points : 30
Points : 30
J'ai solutionné le problème, j'ai modifié l'opérateur de comparaison pour le ServiceLevel, j'ai modifié le "=" par "<>" (différent de....).

Merci marot_r pour m'avoir mis sur la voie...
Budy123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h06.


 
 
 
 
Partenaires

Hébergement Web