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

IHM Discussion :

Vérification champs texte vide (formulaire) [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Vérification champs texte vide (formulaire)
    bonjour,

    j'ai un petit soucis access:
    j'ai un formulaire avec un champs texte et un bouton et j'aimerais que le bouton se désactive si le champ texte est vide.
    pour l'instant ce qu j'ai fait est qu'a chaque événement KEY-UP dans le champs texte je vérifie s'il est vide ou non. mais comme il n'est pas mis à jour immédiatement, j'ai rajouté la commande Me.Refresh après avoir récupérer la position de mon curseur (SelStart) et la remet à jour après le refresh. le problème est que dès que je tape un espace le refresh me l'enlève, je n'arrive donc pas à savoir si mon champs contient des caractère ou non !

    quelqu'un aurait-il une idée pour résoudre mon problème ? ou y-a-t-il une autre façon de faire nettement plus simple?

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,
    Pour désactiver le bouton :

    Dans l'événement Sur activation mettre le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.monBouton.enabled = not isnull(me.moncontroletexte)
    où monBouton est le nom du bouton et moncontroletexte est le nom du contrôle texte.

    Et dans l'évènement Après MAJ de la zone de texte mettre le même code.

    Les selstart, refresh et compagnie ne sont pas fait pour ça.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Le problème est que je souhaites activer ou désactiver un bouton sur la frappe de caractères dans un champ texte.
    si ce champs contient au moins 1 caractère alors le bouton est activé sinon je le désactive (si je retire des caractères, dès que le champs est vide, le bouton doit se regriser)..
    je dois donc utilisé un événement qui s'active à chaque modification de ce champs (c'est pour cela que j'ai mis le code sous l'événement key-up) est vérifier le contenu du champ. mais quand je m'arrête dans la procédure, celui-ci n'est pas actualisé. C'esqt pour cette raison que j'y ai insérer l'instruction "me.refresh".
    Le problème de me.refresh est qu'il me replace en début de champs et donc le caractère suivant tapé remplace le caractère déjà présent.
    C'est pour cela que j'ai récupérer la position de mon curseur par selstart avant le refresh et qu je repositionne mon curseur après exécution du refresh.
    Ceci fonctionnait pas trop mal jusqu'a ce que l'on tape dans le champ des espace. Le refresh supprime les espace finaux ce qui fait que l'on ne peux pas taper de texte avec des espaces.

    Voilà j'espère que c'est clair. il y a surement plus simple dans ce cas je suis preneur. (pour info je viens de commencer à utiliser access 2010 et je connais bien le vba d'excel.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Dans key-up essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.monBouton.enabled = not isnull(me.moncontroletexte.text)
    ça peut marcher.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Ok c'était tellement simple merci (avec une petite modif car quand on revient en arrière il faut tester la chaîne vide).

    en fait je faisait cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BtnEnreg.Enabled = Not IsNull(Me.Txt_Cat.Value)
    et il fallait faire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.BtnEnreg.Enabled = Not IsNull(Me.Txt_Cat.Text) And (Me.Txt_Cat.Text <> "")
    Y a t'il une différence entre champ.Value et champ.Text

    Merci encore

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Absolument ! Et une grosse différence !

    Value est la valeur enregistrée.
    Text est la valeur en cours de saisie.



    Si bien qu'on peut avoir un Value différent d'un Text.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    ok merci - mon pb venait donc de là, j'utilisais .value !!!


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

Discussions similaires

  1. Tester un champ texte vide avec DLookup
    Par spoker04 dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/09/2008, 13h34
  2. Réponses: 4
    Dernier message: 19/10/2007, 14h34
  3. Curseur n'apparaissant pas dans champs text de formulaire
    Par lysandre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 14/09/2007, 10h47
  4. SQL Autoriser champ texte vide
    Par kilimanjaro dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 09/06/2007, 17h41

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