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 :

MAJ de zones de texte via une Zone de liste modifiable


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Haut Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut MAJ de zones de texte via une Zone de liste modifiable
    Bonjour,


    J'ai une base de donnée intégrant les champs (N° client, Nom, Prénom, Adresse, code postale, ville).

    J'ai crée un formulaire qui intègre tout les champs sauf le N° de client.
    Le champ principal est le Nom en zone de liste modifiable qui recherche les noms dans la table.
    J'aimerais que cette liste modifiable mettent a jour les autres champs en fonction du nom que je sélectionne dans la zone de la liste.

    Merci de votre aide

    Cordialement
    Marc

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    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 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Les autres champs sont liés à la table ou indépendants ?
    Dans le 1er cas ceci devrait faire l'affaire en VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private sub nom_afterupdate
      Me.recordset.findfirst "NomClient='" & nom & "'"
      me.refresh
    end sub
    Dans le 2e cas le même afterupdate doit charger les valeurs dans les champs idoines...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Haut Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Les autres champs font partie de la meme table.

  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
    bonsoir,

    Le N° du client doit être dans ton formulaire

    si tu ne veux pas qu'il apparaisse il faut que tu le mettes en visible non

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub ZoneDeListeClient_AfterUpdate()
        Dim RS As Recordset
        Set RS = Me.RecordsetClone                                ' Clone du formulaire
        RS.FindFirst "NumClient = " & Me!ZoneDeListeClient  ' Positionnement
        If Not RS.EOF Then
          Me.Bookmark = RS.Bookmark                               ' Transfert position
        End If
    End Sub

    Le contenu de ta zone de liste est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Client.NumClient, [nomClient] & " " & [PrenomClient] AS Client, FROM Client ORDER BY Client.NomClient;
    Colonne liée : 1
    nbre de colonnes 2
    largeur : 0;3

    isa

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Haut Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Impossible
    J'ai essayé tout vos solutions rien ne fonctionne.

    Je suis débutant.

    Voici ce que j'ai :
    Table Client intégrant les champs suivant :
    N°Client,Nom,Prénom,Adresse,Code postale,Ville

    Dans le formulaire que j'ai créé j'ai :
    - ZoneNom : Zone de liste modifiable (origine source Table/client; Contenu Client; Colone lié 2; largeur colonne 0;3cm) = Nom
    - Prénom : Zone de texte (source contrôle Prénom)
    - Ainsi de suite pour Adresse,Code postale,Ville

    J'attends votre aide

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    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 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Ta zone de liste ne doit pas être liée à la table mais indépendante. Ensuite il faut mettre mon code ci-dessus sur l'évenement "après modification" et ainsi ton form ira pointer sur le bon enregistrement

    La zone de recherche ne peut pas être liée à la table car quand tu changes de ligne il croit que tu veux modifier le nom du client x et non changer de ligne

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Haut Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Zone texte non mis à jour
    La Zone de liste fonctionne avec les nom(méthode nico), mais les zones prénom, adresse ne fonctionnent pas car elle ne se mettent pas à jour.
    Ces zones ont comme Source de controle les champs de la table (exemple zone de texte Prénom : source de controle Prénom)
    Ce qui fait qu'il prennent la valeur des champs de la 1ere ligne de la table et ils ne changent pas lorsque je sélectionne un autre nom dans la zone de liste.
    Ils n'y a pas de code dans ces champs.

    Merci de votre aide.

  8. #8
    Membre régulier
    Inscrit en
    Février 2010
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 70
    Points : 84
    Points
    84
    Par défaut
    Bonjour,

    Par rapport à ta Zone de liste modifiable (on va l'appeler monchoix) si tes données de table sont dans cet ordre et que la colonne liée est Nom
    cela va donner

    N°Client,Nom,Prénom,Adresse,Code postale,Ville

    pour les zones de texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MnumeroCLIENT=forms![mon nom de formulaire]!monchoix.column(0)
    MNom=forms![mon nom de formulaire]!monchoix
    Mprenom= forms![mon nom de formulaire]!monchoix.column(2)
    Madresse= forms![mon nom de formulaire]!monchoix.column(3)
    Mcodepostale= forms![mon nom de formulaire]!monchoix.column(4)
    Mville= forms![mon nom de formulaire]!monchoix.column(5)

    A+


    JIPIONE

  9. #9
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Bonjour,
    Que c’est compliqué tout cela….
    Pour rejoindre nico84
    Et en faisant simple
    1) Un formulaire basé directement sur la table – on sélectionne la table on utilise l’assistant formulaire – on sélectionne tous les champs.
    2) On ajoute à ce formulaire en mode création une Zone de liste déroulante – en vérifiant que l’assistant est bien sélectionné, on suit l’assistant –
    a) On sélectionne « Rechercher un enregistrement dans mon formulaire basé sur valeur que j’ai sélectionnée dans la liste déroulante
    b) On choisi le ou les champ(s) adéquat(s) à la recherche.
    c) L’étiquette de la ZLD et c’est fini
    Quand on ouvre le formulaire il est sur le 1er enregistrement on clique sur la ZLD on choisi le Nom et Prénom par ex. et le form se met tout seul sur le bon enregistrement – Miracle !

    On rejoint la solution nico84 – sans écrire une ligne de code même si un jour il faudra y arriver, mais faut commencer par les bases et l’utilisation des assistants qui sont bien fait pour débuter c'est mon avis et cela bien sur n'engage que moi.

Discussions similaires

  1. [AC-2007] Alimentation d'une zone de texte avec une zone de texte déroulante
    Par BRUNO71 dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/12/2010, 19h54
  2. Réponses: 4
    Dernier message: 05/02/2010, 12h22
  3. [AC-2003] Atteindre un enregistrement via une zone de texte
    Par Eshen dans le forum IHM
    Réponses: 2
    Dernier message: 06/05/2009, 14h29
  4. Alimenter une zone texte via une zone déroulante
    Par ecolom dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 27/04/2009, 16h12
  5. Réponses: 12
    Dernier message: 28/02/2006, 09h36

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