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 09/07/2011, 18h40   #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 Vider un champ de formulaire

Bonjour,

Je souhaites vider un champs automatiquement si la condition est ok.
j'ai intégré le code suivant pour vider mon champs mais cela ne fonctionne pas.
Pourriez vous m'orienter.

Code :
1
2
3
4
5
6
 
If Nz(DLookup("[Ex_CaseID]", "tblExceed", "[Ex_CaseID]='" & Me.CaseID & "' AND [Ex_ServiceLevel]<>'" & Me.ServiceLevel & "'")) = True Then
MsgBox "Drop ID not match with the Carrier " & Me.ServiceLevel & "", vbCritical, "Check!!"
Cancel = True
CaseID.Value = ""
End If
Budy123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2011, 06h24   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonjour,

Il est difficile, d'ici, de comprendre :

If Nz(DLookup("[Ex_CaseID]", "tblExceed", "[Ex_CaseID]='" & ... !!

Obtiens-tu le message ?

Si non, c'est là que se situe le problème.
La réponse au "if" est sans doute toujours "non" => et rien s'exécute.

Tu devrais aussi dire où ce code est logé (dans Après mise à jour du contrôle "caseID" ?).
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2011, 13h03   #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
En faite j'ai logé le code avant la mise à jour.
Je vérifie dans la table tblExceed que le CaseID et le ServiceLevel correspondent avant d'enregistrer le CaseID, si ce n'est pas le cas un msgbox s'affiche et je souhaites en plus vider le champs CaseID.

Ce qui donne:
Test If = false , j'engeristre le CaseID dand ma table
Test If = True , Message erreur + Vider le champs CaseID (Pour pouvoir saisir un nouveau CaseID sans avoir à effacer manuellement le champs)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Private Sub CaseID_BeforeUpdate(Cancel As Integer)
 
'Check the Carrier
If Nz(DLookup("[Ex_CaseID]", "tblExceed", "[Ex_CaseID]='" & Me.CaseID & "' AND [Ex_ServiceLevel]<>'" & Me.ServiceLevel & "'")) = True Then
MsgBox "Drop ID not match with the Carrier " & Me.ServiceLevel & "", vbCritical, "Check!!"
Cancel = True
CaseID.Value = ""
End If
 
 
'Check if the Drop ID is already recorded
If Nz(DLookup("[CaseID]", "tblMain", "[CaseID]='" & Me.CaseID & "'")) = True Then
MsgBox "Drop ID " & Me.CaseID & " is allready in database!", vbCritical, "Duplicate!!"
Cancel = True
End If
 
End Sub
Budy123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 02h03   #4
Invité régulier
 
Homme
Inscription : mai 2011
Messages : 28
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 28
Points : 9
Points : 9
Bonjour,
J'ai eu le même problème.
Avec ça, cela devrait fonctionner:
Cordialement
Oxopor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h33.


 
 
 
 
Partenaires

Hébergement Web