IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

verification d'une condition dans le code


Sujet :

VBA Access

  1. #1
    Membre éclairé Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Par défaut verification d'une condition dans le code
    bonjour à tous,
    j'ai ce bout de code qui me pose probleme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ElseIf Me.Pci.Value = "oui" And IsNull(Me.DureePci) Then
    MsgBox "Veuillez remplir le champ ""Durée de la perte de connaissance initiale"""
    Me.dureepci.SetFocus
    il y a quelque chose qui m'echappe dans cette routine de controle (pas trop les yeux en face des trous aujourd'hui ...) le code ne fonctionne pas. les 2 champs sont des champs texte.
    Quelqu'un y voit-il plus clair que moi ?
    merci d'avance.

  2. #2
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    Bonjour "vieil ours".....

    Heu....qu'est ce qui ne fonctionne pas dans ton code..
    De plus, je pense que le début de ton If nous serait utile....

    Car si je teste vite fait ton code (en changeant uniquement ton ElseIf par un If) le code fait ce qu'il doit faire.....

    ==> si ton champ Pci contiens la valeur "oui" et que ton champ DureePci contient une valeur nulle, alors le Msgbox est activé, puis retour du curseur sur ton champ DureePci....

    [EDIT] Eventuellement essaie d'utiliser la forme suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If (IsNull(DureePci) Or (DureePci = vbNullString)) And Me.Pci.Value = "oui" Then
            MsgBox "Veuillez remplir le champ ""Durée de la perte de connaissance initiale"""
            Me.DureePci.SetFocus
    End If

  3. #3
    Membre éclairé Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Par défaut
    salut Free,
    alors je te joins un fichier "épuré" dirais-je, parce que là je deviens chèvre... quelque soit le code la condition n'est pas prise en compte !
    Suis pas super blindé en code, mais là, c'est du basique et chez moi ça ne veut rien savoir ! pige pas...

  4. #4
    Membre éclairé Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Par défaut
    bon, en fait je viens de tester quelque chose...
    Si je remplace les valeurs "oui" ou "non" par "a" ou "b", ça fonctionne ! tu peux m'expliquer pourquoi ?

  5. #5
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    Si je remplace les valeurs "oui" ou "non" par "a" ou "b", ça fonctionne ! tu peux m'expliquer pourquoi ?
    Alors là pas du tout..........

    Par contre, voici comment je gérerais ton formulaire:
    -1) Déja dans ta table, sur le champ dureepci "Chaine vide autorisée = oui"
    -2) Sur ton formulaire, passe ton champ dureepci Visible= non

    Puis le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub Enregistrement_Click()
    If IsNull(pci) Then
        MsgBox "Une valeur du champ PCI doit être sélectionnée"
        Me.pci.SetFocus
    ElseIf Me.pci.Value = "Oui" And (IsNull(dureepci) Or (dureepci = vbNullString)) Then
        MsgBox "Le champ Durée PCI doit être renseigné"
        Me.dureepci.SetFocus
    ElseIf (Me.pci.Value = "Oui" And IsNull(dureepci) = False) Or Me.pci.Value = "Non" Then
        MsgBox "ENREGISTREMENT EFFECTUE"
        DoCmd.Close acForm, Me.Name
    End If
    End Sub
     
    Private Sub pci_AfterUpdate()
    If Me.pci.Value = "Oui" Then
        Me.dureepci.Visible = True
    Else
        Me.dureepci.Value = ""
        Me.dureepci.Visible = False
    End If
    End Sub
    .....a tester....et à améliorer....

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    C'est parce que dans ton If, tu as écrit oui et pas Oui.

    Je viens de faire le test sur ton formulaire, si tu test sur Oui et Non c'est bon.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre éclairé Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Par défaut
    euh... sais pas quoi dire là... Effectivement ç'est bien de là que venait le probleme. En tout cas merci à tous les deux pour votre interet toujours aussi sympa !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Comment integrer une condition dans mon code sendkey
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2012, 16h36
  2. Réponses: 1
    Dernier message: 21/01/2011, 10h17
  3. [vb.net] utilisation d'une variable dans le code
    Par arnolem dans le forum Windows Forms
    Réponses: 9
    Dernier message: 30/09/2005, 19h22
  4. Peut on insérer une condition dans une requête ?
    Par MITCH31 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 22/09/2005, 18h26
  5. Introduire une condition dans une requete
    Par DeezerD dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/10/2004, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo