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 :

champ texte par openarg


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut champ texte par openarg
    bonjour

    j'ai un champ texte txtnum indépendant qui me permet d'ouvrir un autre formulaire filtré par openarg :
    le pb :
    -1 je tape mon numéro dans txtnum,
    -2 je valide par entrée,
    -3 mon formulaire s'ouvre.

    si je loupe l'étape 2 , txtnum reste vide

    Comment forcer txtnum à prendre la valeur rentrée ?

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Peux-tu nous montrer ton code, dans la théorie tu n'as pas besoin de faire entrée sur ton champ.

    Dolphy

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Salut...

    Récupère la valeur via
    Cela solutionnera ton problème
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par Pierre Fauconnier Voir le message
    Salut...

    Récupère la valeur via
    Cela solutionnera ton problème
    Attention, cette propriété n'est valable que si le champ a le focus.

    Starec

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Salut...

    Citation Envoyé par Starec Voir le message
    Bonjour



    Attention, cette propriété n'est valable que si le champ a le focus.

    Starec
    C'est exact, mais je suppose que c'est ce qui se passe, sinon textnum contiendrait la chaine saisie... Je suppose que l'ouverture du formulaire s'effectue suite à une touche pressée, par exemple, et donc que l'utilisateur n'a pas quitté le contrôle...

    Mais nous sommes en attente du code initial pour pouvoir donner une meilleure réponse...

    Amicalement
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut
    mon bouton est à côté de txtnum

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Étiquette339_DblClick(Cancel As Integer)
    Call OuvreFormOpenarg(txtnum.Text)
    txtnum = ""
    
    Sub OuvreFormOpenarg(NumObjet)
        DoCmd.OpenForm "DEMANDE", acNormal, , , , , NumObjet
    End Sub

    là ça a l'air de marcher

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par lolothom Voir le message
    mon bouton est à côté de txtnum

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Étiquette339_DblClick(Cancel As Integer)
    Call OuvreFormOpenarg(txtnum.Text)
    txtnum = ""
    
    Sub OuvreFormOpenarg(NumObjet)
        DoCmd.OpenForm "DEMANDE", acNormal, , , , , NumObjet
    End Sub

    Je suis dubitatif sur le fait que tu gères un évènement sur une étiquette.

    Peux-tu confirmer que tu es dans un formulaire Access? Si tu es sur un formulaire Access, l'appellation "Étiquette339" est trompeuse, car il n'est pas possible de gérer une évènement quel qu'il soit sur une étiquette et c'est donc qu'il s'agit d'un contrôle d'un autre type. Tu parles d'ailleurs d'un bouton. Mais si c'est un bouton, alors, devrait planter, alors que tu dis qu'il fonctionne...

    Dès lors, comme Étiquette339 <> TextNum, tu n'aurais pas dû avoir de problèmes en utilisant plutôt que , bien qu'il soit préférable d'utiliser De plus, tu aurais intérêt à utiliser les arguments nommés, notamment dans la procédure d'ouverture du formulaire (est-ce bien utile d'appeler une procédure indépendante pour cela?). Cela simplifierait la lecture du code.
    [EDIT]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm FormName:="DEMANDE", view:=acNormal, OpenArgs:=NumObjet
    est plus clair et plus lisible que ta succession de virgules. De plus, tu ne risques ainsi pas d'en mettre une de trop ou ... de trop peu...[/EDIT]
    Peux-tu préciser le contexte dans lequel tu évolues, et notamment le type du contrôle "Étiquette339"? Car ce que tu dis, en regard du code que tu donnes, est incohérent...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut
    Peux-tu confirmer que tu es dans un formulaire Access? Si tu es sur un formulaire Access, l'appellation "Étiquette339" est trompeuse, car il n'est pas possible de gérer une évènement quel qu'il soit sur une étiquette et c'est donc qu'il s'agit d'un contrôle d'un autre type. Tu parles d'ailleurs d'un bouton. Mais si c'est un bouton, alors,
    oui je suis sur un formulaire access independant
    j'ai une zone de texte couplée à une étiquette, zone de texte pour rentrer mon numéro, une étiquette où sur doubleclique pour ouvrir mon formulaire filtré

    textnum.value
    ne marche pas sauf si j'appuie sur entrée

    DoCmd.OpenForm FormName:="DEMANDE", view:=acNormal, OpenArgs:=NumObjet
    je ne connaissais pas

    je confirme que txtnum.text marche à tous les coups

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    A priori, sauf erreur de ma part, il n'y a pas de possibilité de gérer un évènement quel qu'il soit sur une étiquette...

    Soit le double-click ne s'effectue pas sur un contrôle ETIQUETTE, soit tu n'es pas dans un formulaire access, mais dans un userform...

    Peux-tu préciser ta version d'ACCESS?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Il me vient une idée... tu parles d'étiquette associée...

    Ton contrôle, avant d'être une zone de texte, c'était une étiquette que tu as modifié en zone de texte et que tu as renommé?

    Je suppose que c'est cela, et que tu as alors, dans l'éditeur VBE, dans la fenêtre des propriétés de TextNum, une propriété EventProcPrefix qui vaut Étiquette339... Je me trompe??

    Dès lors, si c'est cela, cela signifie que le double-clic s'effectue sur le contrôle TextNum (car Access ne fait pas la différence entre le doubleclic sur un contrôle et le doubleclic sur l'étiquette qui lui est associée)... et donc qu'il a le focus... Et donc, c'est normal que cela fonctionne avec
    Mais, si je peux me permettre, tu dois faire très attention lorsque tu changes un contrôle de type, et notamment à cette propriété EventProcPrefix, car ton code est illisible et difficilement maintenable...

    Mais ce n'est que mon avis...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pierre Fauconnier
    Tu mettres un évènement sur une étiquette (Click, Double-Click et Mouse).

    Cela fonctionne dans ce cas, car une étiquette n'acceptant pas le focus, celui-ci reste sur la zone de texte.

    lolothom
    Par contre le code ne marchera pas si un autre contrôle est activé entre-temps.

    Starec

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut
    ma version d'access est 2002

    Je clique sur ma boite à outil et sur le "A" celà m'insère une étiquette

    un pb quand même

    si je passes avec txtnum.value :
    alors je dois faire entrer pour filtrer sinon le formulaire s'ouvre avec une valeur vide


    si je passe avec txtnum.text:
    si je garde le focus c'est ok
    si j'appuie sur entree pour valider ( je perds le focus) et j'ai une messagebox me précisant que la valeur de txtnum est inconnue

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Starec Voir le message
    Bonjour

    Pierre Fauconnier
    Tu mettres un évènement sur une étiquette (Click, Double-Click et Mouse).

    Cela fonctionne dans ce cas, car une étiquette n'acceptant pas le focus, celui-ci reste sur la zone de texte.
    Oui, c'est que j'ai précisé dans mon dernier message. Mais l'évènement se passe bien sur le textbox, pas sur l'étiquette. C'est probablement la propriété EventProcPrefix qui ne correspond pas au nom du contrôle, alors que c'est habituellement le cas...
    Citation Envoyé par Starec Voir le message
    lolothom
    Par contre le code ne marchera pas si un autre contrôle est activé entre-temps.

    Starec
    Et dans ce cas, le code fonctionnera à tous les coups, puisque le double-clic active le contrôle et permet donc l'utilisation de Lolothom nous en dira certainement plus là-dessus...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Oui, c'est que j'ai précisé dans mon dernier message. Mais l'évènement se passe bien sur le textbox, pas sur l'étiquette. C'est probablement la propriété EventProcPrefix qui ne correspond pas au nom du contrôle, alors que c'est habituellement le cas... Et dans ce cas, le code fonctionnera à tous les coups, puisque le double-clic active le contrôle et permet donc l'utilisation de Lolothom nous en dira certainement plus là-dessus...
    Non il y'a l'évenement sur l'étiquette, essaye en en mettant une sur un formulaire (juste une étiquette), ensuite sélectionnes la sur l'éditeur VBA, et tu verras que tu as 5 évènements dessus.

    Starec

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut

  16. #16
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Merci Starec...

    Mille excuses, je n'avais pas fait cette distinction, car lolothom parlait d'étiquette associée... Dès lors, je me range totalement à ton avis, et il y aura bien plantage si le focus n'est pas sur TextNum...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Merci Starec...

    Mille excuses, je n'avais pas fait cette distinction, car lolothom parlait d'étiquette associée... Dès lors, je me range totalement à ton avis, et il il aura bien plantage si le focus n'est pas sur TextNum...
    en effet, quelle est la méthode pour faire fi de ce problème ?

  18. #18
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Utiliser l'objet Activecontrol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        If ActiveControl.Name = "TextNum" Then
            NumObjet = TextNum.Text
            Else
            NumObjet = TextNum.Value
        End If
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut
    ca marche

    merci à tous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     If ActiveControl.Name = "TextNum" Then
            NumObjet = TextNum.Text
    call...
            Else
            NumObjet = TextNum.Value
    call...
        End If

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/07/2009, 13h06
  2. Interdire de commencer un champ texte par 0
    Par LUCAS-28 dans le forum IHM
    Réponses: 5
    Dernier message: 17/09/2007, 08h51
  3. Rafraîchir les champs text par une requête
    Par nounowa dans le forum JDBC
    Réponses: 2
    Dernier message: 18/07/2007, 12h14
  4. Vider champ texte par bouton radio
    Par jedi186 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 05/02/2007, 17h48
  5. Ajuster un champ texte par rapport au contenant
    Par dinette dans le forum Access
    Réponses: 2
    Dernier message: 05/01/2007, 03h08

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