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 :

Enregistrer par clic ou double clic une valeur de zone texte d'un formulaire dans un autre formulaire


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut Enregistrer par clic ou double clic une valeur de zone texte d'un formulaire dans un autre formulaire
    Bonjour à tous,
    Quelqu'un peut-il m'aider à résoudre le problème suivant ?
    J'ai un formulaire nommé FacturierEntréeSortie avec une zone de texte[CodeFrais]. Dès que je clique sur cette zone j'ouvre un autre formulaire nommé: (FormulaireCodeFrais(à l'aide d'une macro)).
    J'aimerais dès que je clique sur l'une des zones textes codes par exemple '101'
    que cette valeur soit affichée automatiquement dans la zone texte[CodeFrais] de mon premier formulaire(FacturierEntréeSortie) et si possible qu'il m'affiche en même temps dans une textBox la [désignation] correspondant à ce code.
    Sincères remerciements pour votre aide
    Claudine

  2. #2
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Sur le click ou double click ta zone texte du formulaire FormulaireCodeFrais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms("FacturierEntréeSortie")("CodeFrais")=Me("CodeFrais")
    Alain

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonsoir Alain
    J'ai indiqué sur le clic de la zone texte(Code) du formulaire(FormulaireCodeFrais) la ligne de code que vous m'avez écrite ci-dessus
    Mais dès que je clique sur la zone texte code, access me signale qu'il ne peut trouver la macro "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms ("FacturierEntréeSortie")("CodeFrais")=Me("CodeFrais")"
    J'ai une macro qui m'ouvre le formulaireCodeFrais ce qui me permet de cliquer sur la zone texte souhaitée(Code) Mais dois-je prévoir une autre macro pour retourner dans le formulaire FacturierEntréesSorties.
    Pouvez-vous m'éclairer car je suppose que dès que je clique sur cette zone de texte que cette valeur s'inscrit automatiquement dans la zone texte de mon autre formulaire(FacturierEntréesSorties
    Claudine

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonjour Alain
    J'ai trouvé mon erreur après quelques heures de travail. Ce code est parfait. Sincères remerciements.
    Cependant, j'aimerais qu'il m'affiche en même temps dans une textBox la [désignation] correspondant à ce code pour vérification qu'il n'y a pas d'erreur dans le choix du code et que cette textBox disparaisse dès que l'on passe à la zone texte suivante.
    Pouvez-vous me guider et conseiller pour ce concept?
    Claudine

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    rebonjour Alain
    Je voulais dire un MsgBox et non un texteBox pour afficher le message [Description]:correspondant au code cliqué
    Veuillez m'excuser pour ce vocabulaire incorrect
    Sincères salutations
    Claudine

  6. #6
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Il me faudrait plus de précision sur l'emplacement du champs "Description".

    Si il est dans le formulaire, le code suivant devrait te convenir après adaptation.

    Sur le click ou double click de ta zone texte du formulaire FormulaireCodeFrais


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Dim intReponse As Integer
    Dim Message As String
     
     Message = "Etes vous sure de vouloir copier ce code ? " & Chr(13) & Chr(10) & Me("Description")
     
     intReponse = MsgBox(Message, 52, "Avertissement")
     
     If intReponse = 6 Then
     
        Forms("FacturierEntréeSortie")("CodeFrais")=Me("CodeFrais")
     
     End If
    Alain

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonjour Alain
    La Boîte de message fonctionne à merveille.
    Il subsiste un autre petit problème que je n'arrive pas à résoudre!
    En effet lors du clic sur le code ce dernier s'affiche dans le formulaire FacturierEntréesSorties et en même temps la [Description] car j'ai indiqué dans la source contrôle de la zone de texte description
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =[Formulaires]![FormulCodFrais]![Description]
    Si la Description s'affiche bien dans la zone texte, Dès que change d'enregistrements, il ne garde pas sa valeur et indique #Nom? et probablement de ce fait n'enregistre pas la valeur dans la tableFacturier alimentée par le formulaire FacturierEntréesSorties
    Or j'aimerais afficher dans le champ[Description] de la table la valeur affichée dans le formulaire
    Pouvez-vous m'aider?
    Sincères remerciements pour votre aide précieuse
    Claudine

  8. #8
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Dans les données sources de ton formulaire FacturierEntréeSortie il faut ajouter la table ou tu stock tes codes frais et et description.
    Tu mets en relation ces deux table pas le codeFrais.

    c'est pas très précis parce qu'il me manque des informations mais cela devrait te mettre sur la voie.

    Alain

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonsoir Alain,
    Voici deux jours que j'essaie de résoudre le problème évoqué ci-dessous sans succès.
    J'ai réalisé un fichier Exemple10.mdb très simplifié pour faire tout mes essais. Hélas.....
    Pourriez-vous examiner où se situe le problème?
    Si oui, veuillez me dire par quel moyen puis-je vous le faire parvenir.
    Sincères remerciements
    Claudine

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonsoir Alain
    Merçi pour vos conseils, cela me permettra d'évoluer.
    Maintenant les zones texte n'affiche plus d'erreur; C'est parfait.
    Cependant, bien que je comprenne qu'il faut éviter de dupliquer des données dans plusieurs tables , je voulais me rende compte dans ce cas précis comment on peut enregistrer malgré tout les données [Designation] et [Pourc]
    dans la table EntreesSorties et si c'est possible.
    Une dernière question:
    Comment ouvrir(est-ce possible?) un formulaire directement au dernier enregistrement afin d' éviter de modifier accidentellement certaines zones de données?
    sincères remerciements pour votre dévouement.
    Tout ceci démontre avec évidence le bonheur d'avoir une aide si précieuse grâce à ce Forum. Sincères félicitations à tous les membres sans qui nous ne pourrions progresser vu le coût élevé des formations.
    Claudine

  11. #11
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    comment on peut enregistrer malgré tout les données [Designation] et [Pourc]
    Je ne vois pas l'intérêt, mais si tu le demandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If intReponse = 6 Then    
        Forms("FacturierEntréeSortie")("CodeFrais")=Me("CodeFrais")
        Forms("FacturierEntréeSortie")("designation")=Me("Designation")
        Forms("FacturierEntréeSortie")("Pourc")=Me("Pourc")
     End If

    Pour ouvrir un formulaire en mode ajout, mets le code suivant sur l'évènement de ton bouton dans le formulaire Menu. (retirer le lien hypertexte)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub EntreesSorties_Click()
     
    DoCmd.OpenForm "EntreeSortie", acNormal, , , acFormAdd, acWindowNormal
     
    End Sub

    Alain

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonjour Alain,
    Merci pour tous ces bons renseignements.
    Est-il réellement possible au départ d'une liste modifiable qui liste différents produits et dès que je clique sur un parmi tous les produits de faire ouvrir la table ou le formulaire correspondant aux caractéristiques de ce produit (Chaque produit a sa table et son formulaire)?
    J'ai essayé différents codes qui génèrent à chaque fois une erreur Type,bloc....
    En partant d'une zone de texte, vous m'avez guidé et c'est OK, mais au départ d'une liste modifiable, est-ce possible? je vous demande conseils.
    Sioncères salutations Alain
    Claudine

  13. #13
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Ce code permet d'ouvrir un formulaire après sélection d'un élément d'une liste déroulante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub MaListeDeroulante_AfterUpdate()
        Dim StrCondition As String
     
        StrCondition = "[IDProduit] = " & Me("MaListeDeroulante")("IDproduit")
        DoCmd.OpenForm "frmProduitFiche", acNormal, "", StrCondition, acEdit, acNormal
    End Sub
    Il faut l'adapter à ton cas. Tu ne donnes pas assez de détail pour que je sois plus précis.

    Une "liste modifiable" c'est quoi, une zone de liste ou une zone de liste déroulante?
    Quel est le nom de la colonne liée de ta liste?
    Quel est le nom du formulaire à ouvrir?

    Bon courage.

    Alain

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonjour Alain,
    veuillez m'excuser pour ce manque de précision.J'ai adapté moi-même mais il m'affiche une erreur d'exécution451(Procédure Property Let n'est pas définie et la procédure Property Get n'a pas renvoyé d'objet). Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Modifiable43_AfterUpdate()
     
        Dim StrCondition As String
     
        StrCondition = "[ClasseProduits] = " & Me("Modifiable43")("Aromathérapie: Produits de bien-être")
        DoCmd.OpenForm "FormTypeProduitsAromath", acNormal, "", StrCondition, acEdit, acNormal
    End Sub
    Je m'explique:
    Dans Access2000, j'ai 2 possibilités: une zone de liste modifiable ou une zone de liste. J'ai pris la zone de liste modifiable appelée Modifiable43.
    Quant à la colonne liée je suppose que c'est[ ClasseProduits] puisque le contenu renseigne: Select TableClasseProduits.ClasseProduits From TableClasseProduits.
    Dans ma liste modifiable43 , j'ai pour l'instant 4 lignes et j'aimerais que dès que je clique sur la 1ère ligne par exemple(Aromathérapie: Produits de bien-être) le formulaire(FormTypeProduitsAromath) s'ouvre pour que je puisse sélectionner en 1ère ligne par exemple(Huiles&Beauté) et l'afficher dans mon formulaire(FormCommande) J'abrége pour la suite car c'est une cascade d'éléments qui s'enchaîne.
    Puissiez-vous m'aider car ce domaine m'est inconnu.
    Sincères remerciements
    Claudine

  15. #15
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Dans une zone de liste modifiable ou une zone de liste, tu as une propriété colonne liée (dans propriétés puis données).
    Cette colonne liée est pas défaut à 1. Cela veux dire que la première colonne donne sa valeur à la zone de liste.
    Souvent l'on met la clef primaire de la source comme colonne liée.

    Dans ton cas la zone de liste prendra la valeur de ClasseProduits.

    si ClasseProduits est du numérique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    StrCondition = "[ClasseProduits] = " & Me("Modifiable43")
    si ClasseProduits est du texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    StrCondition = "[ClasseProduits] = """ & Me("Modifiable43") & """
    Alain

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonsoir Alain,
    J'ai introduit le code suivant puisque [classeProduits est du texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Modifiable43_AfterUpdate()
     
        Dim StrCondition As String
     
        StrCondition = "[ClasseProduits]= """ & Me("Modifiable43") & """"
        DoCmd.OpenForm "FormTypeProduitsAromath", acNormal, "", StrCondition, acEdit, acNormal
    End Sub
    Pas d'erreur il m'ouvre bien le formulaire adéquat FormTypeProduitsAromath mais il y a un problème pour y arriver:
    Dès que je clique sur la 1ère ligne du Modifiable43 donc (Aromathérapie: Produits de bien-être) , une fenêtre m'invite à entrer le paramètre 'ClasseProduits' et je suis obligé de retaper la ligne'Aromathérapie: Produits de bien-être' pour qu'il ouvre enfin le formulaire correctement.
    Pouvez-vous me dépanner?
    Sincères remerciements
    Claudine

  17. #17
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Ajoutes un MgsBox pour vérifier si StrCondition affiche la bonne valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    StrCondition = "[ClasseProduits]= """ & Me("Modifiable43") & """"
    MsgBox StrCondition
    DoCmd.OpenForm "FormTypeProduitsAromath", acNormal, "", StrCondition, acEdit, acNormal
    Si c'est le cas, vérifier dans le formulaire FormTypeProduitsAromath que ClasseProduits exite bien et soit bien orthographié

    Alain

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Points : 95
    Points
    95
    Par défaut
    Bonjour Alain
    J'ai vérifié et adapté mais il subsistait le problème suivant: l'ouverture du "FormTypeProduitsAromath" s'effectuait mais il était vide à chaque fois ce que j'ai réussi à résoudre après pas mal de journées de recherche en ajoutant un guillemet. Est-ce Normal? (Voir les guillemets en gras) Pouvez-vous m'expliquer ce fait?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Dim StrCondition As String
             
        StrCondition = "[ClasseProduits]=""" & Me("Modifiable43") & """"
        MsgBox StrCondition
         DoCmd.OpenForm "FormTypeProduitsAromath", acNormal, """, StrCondition, acEdit, acNormal"
    Bref, j'avance pas à pas et je mesure le progrès réalisé grâce à votre aide et conseils.
    J'ai un autre problème que je n'arrive pas à résoudre....
    Dans le pied d'un état je fait le total d'une commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Total de la commande= Somme([Total])
    En dessous j'ai une zone texte [Remise] et dans la sourcecontrôle de la zone texte j'ai appliqué le codeCe qui correspond à une remise de 5%. Cependant, j'aimerai appliquer une ristourne supérieure lorsque le montant total de la commande augmente. Par exemple7% si la vente est de minimum 300€ et 9% si la vente est de minimum 600€. Je n'arrive pas à ajouter ces conditions sans créer des erreurs d'autant plus qu'il n'existe pas de procédure évènementielle pour le pied d'un état
    Pouvez-vous m'aider et me conseiller dans ce cas particulier?
    Sincères remerciements pour votre aide très précieuse.
    Claudine

Discussions similaires

  1. valeur dans un formulaire vers un autre formulaire dans mediabox
    Par Milicematik dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/03/2011, 21h35
  2. [WD14] Double-Clic sur ligne d'une table
    Par WindeveloP dans le forum WinDev
    Réponses: 5
    Dernier message: 26/02/2010, 22h08
  3. Réponses: 3
    Dernier message: 06/08/2008, 14h27
  4. Réponses: 26
    Dernier message: 11/06/2007, 10h57
  5. Réponses: 12
    Dernier message: 21/08/2006, 16h25

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