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

VBA Access Discussion :

Zone de liste


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut Zone de liste
    Bonjour à tous,

    J'ai créée une petite appli pour ma bibliothéque personnelle.

    Il y a deux tables "LIVRES" et "AUTEURS" liées ensemble.
    Le formulaire qui en découle fonctionne plutôt bien. Le NOM auteur apparaissant dans une zone de liste et le Prénom dans une zone de texte.
    Mais à la création d'une nouvelle fiche dont le NOM de l'auteur est déjà dans la table mais avec un Prénom différent, rien ne va plus.
    Je voudrais pouvoir provoquer une nouvelle saisie, tout en me servant du NOM auteur (qui peut être difficile à orthographier) présent dans la zone de liste avec son Prénom.
    J'ai essayé plusieurs façons sans résultat.

    Pouvez-vous m'aider ?

    Merci.

    JCB
    Windows 10 - ACCESS 2007

  2. #2
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Bonjour,

    Ce n'est pas clair.

    Tu mets "à la création d'une nouvelle fiche............... Je voudrais provoquer une nouvelle saisie......."

    J'espère que tu n'as pas mis le champ Nom comme clé primaire

    Tu peux donner + de détails ?

    A+

  3. #3
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonsoir,

    Merci de cette réponse rapide.

    je vais essayer d'être plus clair.

    J'ai trois table : tbl_Livres, tbl_Auteurs, tbl_Genre.
    Chaque table a un champ "Ref ....." numéro auto.
    La tbl_Livres a les champs correspondants (ref.genre, ref.auteurs)
    Les tables sont donc liées par leur N° auto avec le champs correspondant dans la tbl_Livres.
    Dans le formulaire, le nom de l'auteur s'affiche dans une zone de liste.

    En consultation, ça marche correctement.

    A la saisie d'un nouveau livre, quand il faut saisir un nouvel auteur, il faut obligatoirement choisir un auteur dans la liste proposée ou un auteur different.

    Mon problème c'est qu'il y a des auteurs au même nom mais prénom différent et là ça coince.

    Access détecte un double dès la saisie du nom et je ne peux pas saisir un nouveau prénom.

    J'espère avoir été plus clair.

    Merci.

    JBC
    Windows 10 - ACCESS 2007

  4. #4
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Tu n'aurais pas mis ton champ [nom_auteur] en indexé sans doublon ??

    A+

  5. #5
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par HDU71000 Voir le message
    Tu n'aurais pas mis ton champ [nom_auteur] en indexé sans doublon ??

    A+
    Non, le champ Nom_auteur est indexé - oui - avec doublon.
    Windows 10 - ACCESS 2007

  6. #6
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Re,

    il n'y a pas du vba qui vérifierait si le nom n'est pas déjà présent ?

    Tu peux mettre une copie d'écran du message d'erreur ?

    Ou, une copie de la base sans les données sensibles.

    A+

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Tu as une liste déroulante avec plusieurs fois le même nom mais des prénoms différents.
    Après le choix d'une ligne, l'evt _afterupdarte te retourne toujours le 1er prénom trouvé, c'est classique !
    Mais en codant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub nom_AfterUpdate()
    ' PB : inscrire le bon prénom pour le nom sélectionné (si même nom utilisé avec plusieurs prénoms)
        Dim ctl As Control
     
        If len(nz((Me.nom)) > 0 Then
            Set ctl = Me.nom
             Debug.Print "col 1 : " & ctl.Column(1, ctl.ListIndex)
            If Not IsNothing(ctl.Column(1, ctl.ListIndex)) Then Me.prenom = ctl.Column(1, ctl.ListIndex)
        End If
     
        Set ctl = Nothing
    End Sub
    ça devrait le faire
    "Always look at the bright side of life." Monty Python.

  8. #8
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonsoir Micniv et HDU71000

    Merci de vous pencher sur mon cas,

    C'est l'inverse que je veux : je veux pouvoir saisir et ajouter à la table le même nom avec un prénom différent.

    Voir ce que j'ai fait jusqu'alors.

    JCB

    BiblioTest.zip
    Windows 10 - ACCESS 2007

  9. #9
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Pas évident avec tous les messages d'erreur concernant les images....

    Tu essaies donc d'ajouter non pas 1 élément dans la zone de liste, mais 2.

    Tu peux soit insérer dans ta table un auteur "Ajouter un nouveau" et en cas de sélection de cet acteur ouvrir un formulaire qui te permettra de saisir le nom et le prénom. Soit ouvrir ce formulaire d'ajout de l'acteur en cas de dblclick sur la zone de liste.
    Soit t'inspirer de ceci (mais tu n'auras pas la possibilité de mettre des espaces dans le nom de famille) --> http://www.databasedev.co.uk/multi-f...t-in-list.html

    A+

  10. #10
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonsoir,

    Fichier modifié pour test.

    JCB

    BiblioTest.zip
    Windows 10 - ACCESS 2007

  11. #11
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    dans le form frm_FicheLivre, tu es un peu trop gourmand.
    En création / modification de Fichelivre, tu ne dois pas créer d'auteur sur 2 champs. Tu dois seulement pouvoir en sélectionner 1.
    Au plus simple, ajoute un bouton à coté de Auteur - Nom et prénom pour créer un auteur qui n'est pas encore dans la liste.
    "Always look at the bright side of life." Monty Python.

  12. #12
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par HDU71000 Voir le message
    Soit t'inspirer de ceci (mais tu n'auras pas la possibilité de mettre des espaces dans le nom de famille) --> http://www.databasedev.co.uk/multi-f...t-in-list.html

    A+
    Bonjour,

    En posant ma question, je pensais trouver un truc tout fait car je ne pense pas à être le seul à vouloir faire cela.
    Par exemple, un simple répertoire téléphonique d'une famille au nom imprononçable où il serait facile de sélectionner le nom dans une liste déroulante et d'y ajouter un prénom.
    Enfin bon...
    Je me suis servi du lien indiqué et je pense avoir solutionné la saisie des noms avec espace et aussi les noms à particule (de, d', Mac), il suffit de modifier l'espace " " mis entre le nom et le prénom par un double espace " ".
    Mais je cherche toujours pour conserver le nom dans une zone texte et le prénom dans une autre (pour pouvoir le modifier) et ensuite les réunir dans le champs de la zone de liste qui activera la fonction "NoinList". Là je bloque pour remplir ce champ.

    Une idée ?

    JCB
    Windows 10 - ACCESS 2007

  13. #13
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Bonjour,

    pourquoi ne pas mettre dans la zone de liste le champ concaténé du nom et du prénom ?????

    Si le champ (nom & " " & prenom) n'exite pas, tu peux alors exécuter le code dans NotInList.

    Sinon, tu peux sur l'évènement AfterUpdate() de la zone de texte prénom regarder à l'aide d'un Dcount si le couple Nom Prénom est déjà présent dans la table et agir en conséquence.

    A+

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/01/2024, 15h32
  2. zone de liste modifiable (NotInList)
    Par ptitdragon_eric dans le forum Access
    Réponses: 4
    Dernier message: 23/01/2006, 20h41
  3. Zone de liste modifiable
    Par SAUVEUR Serge dans le forum IHM
    Réponses: 3
    Dernier message: 19/09/2004, 17h58
  4. [VB6] largeur d'une zone de liste d'une combobox
    Par Nick13 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/08/2004, 12h30
  5. [VB6] Zone de liste modifiable basée sur un champ
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/11/2002, 13h41

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