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 :

Récupérer une valeur dans une inputbox pour l'utiliser dans un état


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut Récupérer une valeur dans une inputbox pour l'utiliser dans un état
    bonjour

    j'essaie depuis un formulaire de récupérer un montant pour l'inscrire dans le champ indépendant d'un état

    j'ai écris ce code, mais mon champ de l'état reste vide

    pouvez vous m'aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub B_QuitusMontantChoisi_Click()
    Dim MontantQuitus As Long
     
     
    MontantQuitus = InputBox("Indiquez le Montant du quitus ?")
     
     
        DoCmd.OpenReport "E_QuitusMontantChoisi", acViewPreview, "", "[ID_CONTRAT_site]=[Forms]![F_PAPIER]![ID_CONTRAT_site]"
         Reports![E_quitusMontantCHoisi]![MontantHt] = MontantQuitus
     
     
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Dans une discussion semblable hier, il y avait un problème de ce type.
    Le problème est que dans les états, on arrive pas à donner une valeur à une zone de texte indépendante (contrairement aux étiquettes) sur l'évènement ouverture.
    Je pense donc qu'il vaut mieux que tu ouvre ton état et que sur l'évènement formatage de ta section tu indique la valeur de ta variable.

    Voici le lien vers le message et j'avais mis un fichier test

    http://www.developpez.net/forums/d72...iennent-table/

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    super

    au lieu de mettre mon input box sur le bouton du formulaire je l'ai mis du l'évement formatage de la section détail de l'état une fois ouvert

    le résultat est transparent et j'obtiens le bon résultat

    merci Gayot

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    une question subsidiaire, Gayot, je dois mettre des montants à décimales dans cette input box, quelle type de variable dois je choisir ?

    il me fait une incompatibilité de type 13

    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    J'essaierai Variant

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    j'ai fait mais il me fait l'erreur aussi

    Le champ indépendant qui reçoit dans l'état est monétaire, décimale 2

    j'ai essayé double et single aussi

    j'ai mis string pour le moment (ce qui est faux bien sûr)
    le prob est que si l'utilateur entre le chiffre sans l'espace au mille, il ne le fait pas évidemment et il met un point à la place de la virgule et il ne met pas €

  7. #7
    Invité
    Invité(e)
    Par défaut
    Il faut peut être jouer sur le format.

    Format(Nz(NomDetaZone), "#,##0.00 €")

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    on avance mais c'est pas encore ca

    si je rentre 12.36

    il me met 0,53 €

    sympa la conversion mais c'est pas ce qu'on lui demande lol

  9. #9
    Invité
    Invité(e)
    Par défaut
    Tu peux mettre le code?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    Dim MontantQuitus As Variant
     
    MontantQuitus = InputBox("Indiquez le Montant du quitus ?")
     
    'Me.MontantHt = MontantQuitus & " €"
     
    Me.MontantHt = Format(Nz(MontantQuitus), "#,##0.00 €")
    End Sub

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    bonjour Gayot,

    j'ai bien reçu ton nouveau code par mail mais il n'est pas sur le forum ! bizarre
    bref ca ne marche pas non plus


    Ta proposition pour rappel : (j'ai rajouté Me.MOntantht = MontantQuitus)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    Dim MontantQuitus As Variant
    MontantQuitus = Format(Nz(InputBox("Indiquez le Montant du quitus ?")),"#,##0.00 €")
    End Sub
    J'ai changé le type de MOntantHt en Standard mais c'est la même chose aussi

    Par contre, si je rentre 10, il met bien 10,00 €

    c'est toujours les décimales, qu'il n'accepte pas. J'ai essayé 15.5 il me met 0,66 €. Comprends tu ce qu'il fait ?

  12. #12
    Invité
    Invité(e)
    Par défaut
    bonjour Isabelle b

    En fait depuis hier je me documente sur les Inbox que pour ma part je n'utilise pas. Il semble que l'on puisse mettre des paramètres numériques dans les arguments, mais je n'ai pas encore tout compris.

  13. #13
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Il me semble qu'une InputBox retourne toujours une chaîne (string)

    Il faudrait donc convertir ta variable.

    Peux pas tester mais essaie peut-être avec CCur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MontantHt = CCur(MontantQuitus)
    Domi2

    P.-S. J'ai omis, mais ne pas oublier de tester les valeurs Null et un formatage s'avère peut-être nécessaire.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    merci à vous deux

    comme je n'ai besoin que de l'info pour afficher dans un état, je vais en attendant la mettre en string avec une concaténation du symbole €

    l'utilisateur devra faire tout seul son espace au mille

    mais c'est quand même étrange que 10 access retourne 10,00 € et 15.50 il retourne 0.66 €

    merci de votre aide
    isa

  15. #15
    Invité
    Invité(e)
    Par défaut
    Re bonjour à vous deux

    Je pense que l'on peut obliger à rentrer une valeur numérique si on s'en réfère à ceci (de Caféine):
    http://access.developpez.com/faq/?pa...rifTypeInputBx

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 1
    Dernier message: 23/06/2014, 11h02
  3. [MySQL] Récupération d'une valeur d'un formulaire pour la mettre dans une requête
    Par lala24 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 30/04/2010, 17h42
  4. Réponses: 5
    Dernier message: 18/11/2009, 11h25
  5. valeur d'un champ pour l'utiliser dans une requete
    Par bachilbouzouk dans le forum ASP
    Réponses: 4
    Dernier message: 08/04/2005, 16h58

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