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 :

Copie de valeur d'un contrôle d'un formulaire vers un autre formulaire automatiquement [AC-2007]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Copie de valeur d'un contrôle d'un formulaire vers un autre formulaire automatiquement
    Bonjour,

    Je suis comme beaucoup qui posent des questions ici un débutant Access qui apprend grâce à tout ce qu'il peut lire sur le forum ! Et merci à vous toutes et tous

    J'ai monté un projet visant à suivre les stats de ventes mensuelles de 3 marques et 10 lignes de produits par marque par point de vente pour un ensemble de plus de 300 points de vente.

    J'ai créé un formulaire de saisie qui reprend les informations :
    1- Point de vente
    2- Mois
    3- Année
    4- Marque
    5- Ligne
    6- Chiffre d'affaire.
    Lors d'une saisie de volée d'enregistrement (30 à chaque fois), les champs 1 à 3 sont fixes, seules les infos 4 à 6 changent (quasiment) à chaque enregistrement.
    Un fois tout saisi on passe à un autre point de vente et ainsi de suite.

    Mon problème est que je ne parviens pas à trouver l'astuce qui me permette de pré-saisir les champs 1 à 3 et laissé les 3 autres libre de saisie.

    Ce que j'ai essayé de faire :
    - Créer un formulaire indépendant [FrmPrincTest2] qui reprend les champs dans ma base (ou requêtes) avec bouton d'action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Requery
    DoCmd.OpenForm "SsFrmTest"
    qui ouvre un second formulaire [SsFrmTest] avec macro au chargement pour que les champs de ce dernier aillent cherche l'info dans [FrmPrincTest2] tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.Airport.Value = Forms![FrmPrincTest2]![Airport]
    Me.Year.Value = Forms![FrmPrincTest2]![Year]
    Me.Month.Value = Forms![FrmPrincTest2]![Month]
    Mon probleme est que dans [SsFrmTest] ces infos n'apparaissent pas.
    Où est-ce que je me plante (parce que c'est certain que j'ai fait une boulette ...
    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 089
    Points : 5 206
    Points
    5 206
    Par défaut
    Bonjour,

    Il me semble qu'il serait plus simple d'utiliser la propriété DefaultValue des champs concernés :
    - avant la 1ere saisie la propriété est vide
    - à chaque saisie (évenement AfterUpdate) elle est modifiée

    Il suffit ainsi de ne saisir la valeur que quand elle change
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Merci Nico84 pour la réponse qui amène une question (et demie ...)

    Defaultvalue dans la propriété du contrôle ou une procédure événementielle ?
    Quelle serait dans un cas comme dans l'autre la syntaxe à utiliser ?
    Je suis vraiment trop largué, désolé ...

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 089
    Points : 5 206
    Points
    5 206
    Par défaut
    Par exemple pour airport :

    Private Sub airport_AfterUpdate()
    airport.defaultvalue=airport
    End Sub

    Un conseil évites les mots clés comme nom de variable ça dispense des Me. et autres ! []
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Merci encore Nico84.
    Il y a bien un endroit dans le code où je dois spécifier que l'information Airport par exemple a été renseignée dans le formulaire [FrmPrincTest2], non ?

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 089
    Points : 5 206
    Points
    5 206
    Par défaut
    J'ai pas bien compris l'histoire des 2 formulaires... Mon code sert à faire en sorte qu'un formulaire mémorise les valeurs saisies et les repropose aux saisies suivantes. C'est purement interne au formulaire de saisie donc et ça ne dure que le temps d'ouverture du formulaire mais c'est tout simple !
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Ah d'accord.
    En fait je m'étais compliqué la tâche.

    J'ai essayé de saisir ton code tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Airport_AfterUpdate()
    Airport.DefaultValue = Airport
    End Sub
    Je saisis un enregistrement en renseignant Airport mais quand je clique sur enregistrement suivant, dans le contrôle j'ai #NOM? ... comprends pas ...

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Je viens de m'apercevoir d'un truc.
    Avec ce code, en fait il me met dans valeur par défaut dans propriété du contrôle le dernier enregistrement donc c'est bien ce que je cherche.
    Le problème c'est qu'il semble avoir du mal à l'interpréter.

    Par l'exemple, dans mon enregistrement 1 je choisis Beirut et je passe à l'enregistrement suivant.
    Dans les propriété de l'aéroport, valeur par défaut c'est Beirut mais dans le contrôle en formulaire il me met #NOM? bizarre non ?

    Et en plus quand je ferme le formulaire et le ré-ouvre, il me laisse #Nom? dans le contrôle Airport et Beirut reste dans valeur par défaut des propriétés du contrôle ...

    Précision peut-etre inutile : le contenu de ce contrôle est lié une requête car me permet de réduire le choix en fonction de la sélection d'un critère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [TblPeopleOk].[Airport] FROM TblPeopleOK WHERE TblPeopleOk.TRSChamps=Forms![FrmSaisieSO].TRS;

  9. #9
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 089
    Points : 5 206
    Points
    5 206
    Par défaut
    Essaie comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Airport.DefaultValue = "'" & Airport & "'"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Airport.DefaultValue = """" & Airport.Value & """"
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Enorme, ça fonctionne parfaitement !!!!

    Merci beaucoup Nico84.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/08/2014, 12h21
  2. 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
  3. Réponses: 22
    Dernier message: 04/09/2006, 12h53
  4. envoie de valeur d'un formulaire vers un autre
    Par kleenex dans le forum Access
    Réponses: 7
    Dernier message: 03/10/2005, 16h55

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