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 26/07/2011, 16h52   #1
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Par défaut Problème de code vb

bonjour,

Je me suis mis un peu au code parce que l'interface est trop limité...

voici une partie de mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
 
If (Eval("[Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Référence_Fournisseur_Usine] is Null")) Then
        If (Eval("[Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable] is Null")) Then
            "Mes instructions..."
        Else
            MsgBox "Vous n'avez pas remplie la référence fournisseur", vbCritical, ""
            Exit Sub
        End If
Else
      If (Eval("[Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable] is Null")) Then
            MsgBox "Vous n'avez pas remplie le code fournisseur", vbCritical, ""
            Exit Sub
 
       Else
               "Mes instructions..."
      End If
End If
en gros :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Si Champ1 est null faire
  Si Champ2 est null faire
       "mes instructions"
   Sinon 
       afficher message erreur et arrêter la fonction
Sinon
 Si Champ2 est null faire
        afficher message erreur et arreter la fonction
   Sinon
       "Instructions"  
fin
j'expliquerai mieux sous forme de tableau

Code :
1
2
3
4
5
6
 
Champ1        champ2        Résultat 
Null           Null              ok
Null         Non null         erreur
Non null      Null            erreur
non null    non null          ok
Mon problème est que, quand j'ai mes deux champs null, ma commande se bloque à la ligne 12 et m'affiche mon message "vous n'avez pas remplie la référence fournisseur" alors que champ1 null et champ2 null donc ok...

je serais très heureux de votre aide

Merci
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 18h42   #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
J'ai un peu de mal à suivre ta logique mais je pense que

Code :
1
2
3
4
5
6
7
8
9
if isnull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Référence_Fournisseur_Usine]) and isnull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable]) then
        'Tes instructions
    else
        'Message d'erreur
        'Le message d'erreur s'affichera 
        '  si l'un ou l'autre des champs n'est pas null
        '  ou si les deux champs ne sont pas null
        '
end if
devrait faire la même chose en plus simple.

Eval est à éviter car il peut permettre des attaques sur ton application ou ta machine par exemple :

eval("Shell ""format c:""") à de forte chance de reformater le disque c: de ta machine ... pas cool.

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 27/07/2011, 09h39   #3
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Code :
1
2
3
4
5
6
7
 
 
Champ1        champ2        Résultat 
Null           Null              ok
Null         Non null         erreur
Non null      Null            erreur
non null    non null          ok
je suis tout a fait d'accord avec ce que vous m'avez donné sauf qu'on ne traite pas la dernière possibilité, c'est à dire, non null et non null faire ok
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 09h46   #4
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
Bonjour,

comme ceci ca devrait être bon:

Code :
1
2
3
4
5
if isnull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Référence_Fournisseur_Usine]) Xor isnull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable]) then
    'Message d'erreur
else
    'Instructions
end if
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 10h33   #5
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Xor je ne connaissait pas, c'est un ou exclusif ???
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 10h51   #6
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
oui, c'est bien ça
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 13h22   #7
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
et bien merci, je viens tout juste faire l'opération et ça fonctionne bien ! Super un grand merci
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 14h32   #8
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
pouvez vous me traduire en français le Xor svp ? pq moi je comprends ça

Vrai si un seul des éléments est vrai
Faux sinon (si les deux sont faux ou les deux sont vrais)
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 15h48   #9
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
C'est bien ça, le ou exclusif ne retourne vrai que si c'est un résultat OU l'autre (et donc pas l'un et l'autre) et donc:

Vrai Xor Vrai = Faux
Vrai Xor Faux = Vrai
Faux Xor Vrai = Vrai
Faux Xor Faux = Faux
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 16h06   #10
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
J'avais bien compris alors,
Merci pour tout
Magno 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 07h47.


 
 
 
 
Partenaires

Hébergement Web