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 :

Synchronisation entre deux formulaires


Sujet :

IHM

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Synchronisation entre deux formulaires
    Bonjour,

    Je souhaite réaliser dans un formulaire qui reprends les données des membres du personnel un bouton (clé primaire: N° du personnel). Ce bouton mène à un autre formulaire qui me permet de planifier une formation pour un membre du personnel (clé étrangère: N° du personnel également). L'objectif c'est que lorsque j'affiche (à l'aide d'une liste déroulante) les données relatives à un membre du personnel sur mon premier formulaire et lorsque que je clique sur le bouton j'affiche le second formulaire qui aurait été "synchronisé" avec le premier sur base du N° du membre du personnel. Bref, que je n'aie plus qu'à encoder tout sauf à nouveau le N° du personnel.

    Concrètement, j'ai déjà créé mes deux formulaires. Le premier avec les données des membres du personnel ( "Liste du personnel") et le second qui me permet de planifier une formation ("Ti: personnel- planification"). J'ai créé un bouton qui me permet d'ouvrir le formulaire de planification de formation. Lors de cette création, j'ai spécifié via l'assistant quels étaient les champs qui contenaient des données correspondantes (N° du personnel et N°). Puis j'ai été modifier la source de mon champs N° dans mon formulaire "TI: personnel - planification" en utilisant le générateur d'expression : =[Formulaires]![Liste du personnel]![N° du personnel]
    Et concrètement, cela semble marcher jusqu'à ce que je l'utilise. Puisque lorsque je tente de me servir de mon formulaire "Tu: personnel- planification") en cliquant sur le bouton, il m'affiche automatiquement le N° du personnel sychronisé avec le premier formulaire, je remplis les autres champs. Je veux soit fermer la fenêtre via une macro toute simple ou procéder à un second enregistrement. Et là, Acess m'affiche le message d'erreur suivant : Vous devez entrer une valeur dans le champ "TI Personnel - planification.N° du personnel". Alors que la valeur de mon Numéro du personnel est bien affichée dans mon champs N° du personnel...

    Bref, je ne sais pas trop ce que je peux faire pr y remédier. Si quelqu'un aurait un conseil...
    Merci d'avance


    Ps: J'ai des connaissances moyennes en SQL et aucunes en VBA

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Ton problème vient du fait que tu as confondu 2 choses. En modifiant la source de ton champ N° dans ton formulaire de planification de formation, tu l'as rendu indépendant de la requête ou table source du formulaire. CE qui fait que cette clé étrangère reste vide. L'affichage est bonne, mais la valeur n'arrive pas à la table source.

    Déjà il faut remettre cela à sa place, donc remettre un champ avec comme source N° dans ton formulaire de planification de formation.

    Cas abordable et pour débuter, Sur l'évènement Sur Ouverture de ton formulaire, tu attribues la valeur du N° Personnel de ton formulaire de données au N° du formulaire de planification de formation par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!TonFormPlanification!ChampN° = Forms!TonFormDonneesPersonnels!ChampNumPerso
    A adapter selon tes noms de champs et formulaires.

    Après essaies de mettre le code sur les évènements Sur ACtivation et Sur Chargement (cas où tu veux ajouter des formations pour la même personne)

    Bonne continuation

  3. #3
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour tes conseils. Malheureusement, j'ai un peu de mal à transposer ta formule.

    Le nom de mes formulaires a quelque peu changé:
    Données administratives: "Liste du personnel1" clé primaire N°
    Planification de formation: "TI Personnel - Tutorat: planification" clé étrangère : N° du personnel

    J'ai introduit dans sur ouverture du formulaire:
    Forms!TI Personnel - Tutorat: planification!N° du personnel = Forms!Liste du personnel1!N°

    En réponse à cela, Access me met qu'il ne peut pas trouver l'objet "Forms!TI Personnel - Tutorat: planification!N° du personnel = Forms!Liste du personnel1!N°"

    Que puis-je faire?

    merci

  4. #4
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Finalement, j'y suis arrivée en passant par une macro ouverture d'un formulaire via la condition where et en utilisant le générateur d'expression.

    Bref, je ne sais pas trop comment cela se fait.

    Mais néanmoins, par pure curiosité, peux-tu quand même me dire si tu vois des fautes "évidentes" dans la formule sus-mentionnée?

    Merci

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    En fait, je parlais d'ajouter un Code évènement sur l'évènement Sur Ouverture de ton formulaire.

    En appuyant sur les ... à droite de la propriété Sur Ouverture du formulaire, tu choisis Générateur de Code dans la boite de dialogue suivante. Normalement après tu accèdes à la fenêtre de code avec une module vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
     
    End Sub
    Et c'est dedans que tu mets la formule que j'ai donnée.

    Evites les espaces et accents et caractères spéciaux comme "-" dans tes noms de champs, ça peut poser problème.

    Normalement, tu mets tes noms d'objets entre [ ] quand il y a de l'espace, donc le code devrait être :

    Utilises l'Underscore tiret 8 _ en lieu et place des espaces

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
    Forms![TI Personnel - Tutorat: planification]![N° du personnel] = Forms![Liste du personnel1]!N°
    End Sub
    ou en utilisant Me
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
    Me.[N° du personnel] = Forms![Liste du personnel1]!N°
    End Sub
    J'espère que c'est bon.

    Bonne continuation

Discussions similaires

  1. [MySQL] Passage d'info entre deux formulaires
    Par megapacman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/05/2006, 14h52
  2. Passage de parametre entre deux formulaires
    Par Rcanada dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2006, 11h05
  3. condition liaison entre deux formulaires
    Par Davik dans le forum Access
    Réponses: 10
    Dernier message: 25/04/2006, 15h52
  4. relation entre deux formulaires
    Par b_steph_2 dans le forum IHM
    Réponses: 18
    Dernier message: 14/02/2006, 15h03
  5. reprendre un enchainement de code entre deux formulaires.
    Par scully2501 dans le forum Access
    Réponses: 2
    Dernier message: 05/10/2005, 16h11

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