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 :

Code Postal - Ville - Pays :Ergonomie de saisie [AC-2016]


Sujet :

IHM

  1. #1
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut Code Postal - Ville - Pays :Ergonomie de saisie
    Bonjour,
    Je débute encore, merci d'en tenir compte.
    Je souhaiterais améliorer l'ergonomie de saisie, je vais vous décrire ce que j'ai à ce jour:

    J'ai un formulaire "FormSaisieNouvelleMachine" basé sur une requête "RqtSaisieNouvelleMachine" qui trie par ordre croissant selon le champ NumeroOR de la table "SuiviSAV"
    dans ce formulaire, je saisis le pays "ChoixPays" , le code postal "CodePostal" ou le nom de la ville "Localite" dans des zones de liste déroulante
    j'ai une table comprenant les codes postaux : "TblCodesPostaux"
    Nom : Capture1.JPG
Affichages : 793
Taille : 19,4 Ko

    Le pays est choisi au départ, puis on tape le code postal et on clique sur la liste déroulante , on fait un choix et les champs "CodePostal" et "Localite" se remplissent .
    Visuellement on a:
    Nom : Capture2.JPG
Affichages : 654
Taille : 30,6 Ko
    l'onglet données du champ "CodePostal"
    Nom : Capture3.JPG
Affichages : 743
Taille : 43,8 Ko
    et le code dans la ligne contenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TblCodesPostaux.NumeroCP, TblCodesPostaux.CodePostal, TblCodesPostaux.Localite FROM TblCodesPostaux WHERE (((TblCodesPostaux.PaysCP)=[Formulaires]![FormSaisieNouvelleMachine]![ChoixPays]));
    Dans mon exemple, ayant tapé 74460 je souhaiterais que seules les localités avec le même code postal s'affichent dans la liste de choix.

    Si on tape la ville, on obtient visuellement:
    Nom : Capture4.JPG
Affichages : 627
Taille : 41,4 Ko
    l'onglet données du champ "Localite"
    Nom : Capture5.JPG
Affichages : 644
Taille : 41,6 Ko
    et le code dans la ligne contenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TblCodesPostaux.NumeroCP, TblCodesPostaux.Localite, TblCodesPostaux.CodePostal FROM TblCodesPostaux WHERE (((TblCodesPostaux.PaysCP)=[Formulaires]![FormSaisieNouvelleMachine]![ChoixPays])) ORDER BY TblCodesPostaux.Localite;
    Là aussi je souhaiterais que seule les villes contenant ce qui est tapé apparaissent avec leur code postal respectif.

    Merci d'avance pour votre intérêt et votre aide!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .net - Office - Quadiant
    Inscrit en
    Février 2020
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur .net - Office - Quadiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2020
    Messages : 582
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,

    As-tu lu ce tuto ?

    https://argyronet.developpez.com/off...ectitemlistAB/

    ONTAYG

  3. #3
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Oui, j'ai lu ce tuto, mais je n'arrive pas à m'en sortir.

    J'ai une structure de table sensiblement différente.
    Dans ma Table "TblSuiviSAV" est stocké NumeroCP qui correspond à la clé en NuméroAuto de ma table TblCodesPostaux.
    Toutes les infos sont ensuite dans la table TblCodesPostaux. Alors que dans le tuto il y a une table categorie et une metier, c'est comme si j'avais une table code postaux et une localité...

    De plus ce tuto va dans un sens (de catégorie vers métier) et moi je souhaite pouvoir agir dans les deux sens (saisie par CP ou par localité)
    Je ne peux pas changer mes tables, l'application étant déjà en service.

    Je suis preneur de toute solution pour améliorer le filtrage quand on ouvre les listes déroulantes

  4. #4
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,

    Je ne sais pas si j'ai tout bien compris dans le besoin et ce qui exposé (on est lundi matin...) mais à mon avis, dans ta requête, tu as cet élément dans le WHERE :
    Cet élément est lié à un contrôle pour remplir une condition sur les codes postaux.

    Ton besoin est, je pense, de filtrer soit en fonction du Code Postal, soit en fonction du Pays, soit en fonction de la localité.

    Si on refait l'exercice exposé lors d'un de tes précédents postes, cela donne, en algorithmie :
    Filtrer en fonction du Code Postal OU du Pays OU de la localité.

    Voilà. Je pense que tu as tout ce qu'il te faut du coup

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  5. #5
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Ne serait-ce pas plus tôt le principe de mise à jour en cascade de combobox ?
    Un lien ici.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  6. #6
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par Gado2600 Voir le message
    Bonjour,

    Je ne sais pas si j'ai tout bien compris dans le besoin et ce qui exposé (on est lundi matin...) mais à mon avis, dans ta requête, tu as cet élément dans le WHERE :
    Cet élément est lié à un contrôle pour remplir une condition sur les codes postaux.

    Ton besoin est, je pense, de filtrer soit en fonction du Code Postal, soit en fonction du Pays, soit en fonction de la localité.

    Si on refait l'exercice exposé lors d'un de tes précédents postes, cela donne, en algorithmie :
    Filtrer en fonction du Code Postal OU du Pays OU de la localité.

    Voilà. Je pense que tu as tout ce qu'il te faut du coup

    Cordialement,
    Tout d'abord merci pour ton intérêt .
    Aujourd'hui il y a d'abord le filtrage par pays , pour n'avoir dans la liste déroulante que les codes postaux du pays choisi c'est fait par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TblCodesPostaux.NumeroCP, TblCodesPostaux.CodePostal, TblCodesPostaux.Localite FROM TblCodesPostaux WHERE (((TblCodesPostaux.PaysCP)=[Formulaires]![FormSaisieNouvelleMachine]![ChoixPays]))
    .
    Puis on peut saisir soit le code postal, soit la localité.
    Quand le saisis par exemple "marnaz" (les 6 caractères) dans la localité je souhaiterais que n'apparaissent dans la liste déroulante que les enregistrements contenant les 6 caractères tapés, donc marne la vallée ne devrait pas apparaître.
    Je voudrais que n'apparaissent que les localités dont le nom contient les x caractères tapés.
    Je pense qu'il faudrait que j'ajoute une condition dans mon select, sauf que vu mon niveau je n'y arrive pas...

    Même principe pour le cas où on saisi le code postal.

    @Hyperion:
    Merci aussi pour ton intérêt, dans le premier lien si j'ai bien compris il est expliqué comment faire la sélection par pays, ça c'est bon pour moi.
    Dans le deuxième toujours si j'ai bien suivi comment remplir une liste à partir d'une autre, cela fonctionne aussi.

    Mon souci est que je ne sais pas comment ajouter dans le select un truc qui permette de limiter l'affichage dans la liste déroulante à ce qui a été saisi...
    genre si je tape "7413" dans la case code postal, il va apparaître 74130 à 74139 mais pas comme aujourd'hui à partir de 74130 et tout ce qui vient après..

    Comme dit plus haut je débute encore, mais grâce à vous je progresse

  7. #7
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TblCodesPostaux.NumeroCP, TblCodesPostaux.CodePostal, TblCodesPostaux.Localite FROM TblCodesPostaux WHERE (((TblCodesPostaux.CodePostal)=[Formulaires]![FormSaisieNouvelleMachine]![CodePostal]) AND ((TblCodesPostaux.PaysCP)=[Formulaires]![FormSaisieNouvelleMachine]![ChoixPays]));
    Ca ne fonctionne pas...

  8. #8
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Si j'ai bien compris le postulat, vous avez besoin de mettre à jour en cascade des combobox et je doute que les seules syntaxes sql en l'état permettent de réaliser cette prouesse, car il faut au moins réaliser après la MàJ d'une combobox (pays) enclencher un requery sur la combobox suivante (région) pour que cette dernière puisse seulement afficher les régions du pays sélectionné. Bis repetita pour département et pour ville.
    Une idée en pj
    Fichiers attachés Fichiers attachés
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  9. #9
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Merci beaucoup, il va falloir que j'étudie votre exemple.
    Une chose m'a sauté aux yeux, c'est que vous avez une table pour région, pays, département et ville.

    Dans mon application le pays est par défaut sur France, et on peut changer si on le souhaite (cas de figure rare)

    Dans votre exemple si on choisit France en pays, et qu'ensuite on tape B bourgogne est sélectionné directement alors qu'il y a aussi la bretagne.

    En fin de compte imaginons que Pays, ville/region et code postal/département soient dans une seule table avec un numero ID unique.
    Ce que je recherche, c'est que lorsque l'on tape B (pour revenir à mon exemple ci dessus) et que l'on ouvre la liste déroulante, seule les region commençant avec un B s'affichent ... et si l'on tape BR ce sera bretagne....

    Visiblement ça n'a pas l'air simple....

  10. #10
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Désole, mais après la sélection de France dans région si on saisie b il y a bien les 2 régions qui s'affichent.
    Images attachées Images attachées  
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour hyperion13,
    en effet, cela fonctionne, il faudrait juste réinitialiser les listes déroulantes à chaque changement d'enregistrement (sur Form_Current) sinon la sélection précédente reste en mémoire
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Ok, merci Tee pour la participation!
    Comment faire pour réinitialiser les listes déroulantes de manière spécifique, mon formulaire en contient d'autres...

    Effectivement après avoir fermé et ré-ouvert cela fonctionne comme attendu
    Je vais essayer d'adapter ce code à mon usage, je vous tiens au courant.

    Merci encore pour votre aide!

  13. #13
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Je m'arrache les cheveux (pour ce qu'il en reste )
    J'ai essayé d'adapter le code mais je n'y arrive pas.
    je vous ai mis un extrait de mon application.

    il y a la table SuiviSAV qui comprend la plupart des informations
    il y a la table TblCodesPostaux contenant les données code postal, localité et pays
    il y a la requete sur laquelle est basée le formulaire.
    il y a le formulaire, les deux fleches en bas à droite servent à naviguer entre les enregistrements, ce qui évitera la saisie...

    j'ai du mal à exprimer ce que je souhaite peut être que de voir en vrai clarifiera les choses...

    merci d'avance
    Fichiers attachés Fichiers attachés

  14. #14
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    j'ai modifié le formulaire de la manière suivante:
    - j'ai mis à jour les évènements "sur touche relâchée" (KeyUp) des listes Code postal et Localité
    - j'ai créé une Sub InitCboCP qui initialise les 2 listes déroulantes et j'ai créé l'évènement Form_Current qui appelle cette Sub
    - j'ai modifié les codes de MachineSuivante_Click et MachinePrecedente_Click pour enlever le message d'erreur "2105 - impossible d'atteindre l'enregistrement spécifié"
    - j'ai désactivé la navigation des enregistrements (voir image ci-dessous) en mettant la propriété "Bouton de déplacement" à Non, car on pouvait les utiliser pour naviguer mais du coup, les contrôles des champs obligatoires ne se faisaient pas (codes de Machine précédente et suivante)

    Nom : img_0.jpg
Affichages : 536
Taille : 4,3 Ko

    - j'ai déplacé le code pays vu que la saisie des codes postaux en dépend, il est plus logique de le mettre en premier (même si, c'est vrai, on peut quand même saisir le code postal d'abord en se positionnant sur la liste avec la souris)
    - j'ai ajouté 2 index à la table des codes postaux pour optimiser le chargement (je ne sais pas si c'est plus rapidde)
    j'éviterai de mélanger Macros et code VBA dans les évènements, même si cela parait compliqué pour un débutant l'utilisation de VBA.
    je n'ai pas pu tester complètement car il manquait les requêtes dans les listes déroulantes de 2 champs obligatoires (Vendeur, Marque)

    Vavavoum pb cbo(1).zip
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  15. #15
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Tout d'abord un énorme Merci !!

    Bien vu pour supprimer le message d'erreur dans machine precedente/suivante, je vais réutiliser ça dans d'autres formulaires! Très élégant, ça me plait!
    Encore bien vu pour les boutons de déplacement, je vais là encore réutiliser dans d'autres formulaires.
    J'avais mis le pays à la fin car dans 99% des cas il ne sert pas , il peut aussi être en premier

    Pour la création d'index je suppose que vous avez choisi "avec doublons" pour code postal et localité?

    Je suis en train de réécrire l'application. Je ne peux plus changer les tables car elle est en fonction par contre l'objectif est de virer les macros et de tout passer en VBA.
    J'y arrive bien, sauf pour les impressions (ce sera pour plus tard) et notre souci du jour, les codes postaux/ville/pays.
    La dernière macro (test sur remplissage choix pays) sera passée en VBA.

    J'ai fait des tests et ils y a quelques dysfonctionnements.
    Si je tape en localité evir, apparaissent deux localites, ça fonctionne. Par contre si je tape bonneville ne s'affiche que bonneville la louvet (14130) alors qu'il y a bonneville (74130) qui existe aussi , pourquoi cela fonctionne pour l'un et pas l'autre?
    Si je commence à faire l'utilisateur qui écrit puis efface soit cp et/ou ville les champs ne sont pas réinitialisés
    par exemple:
    Nom : capture1.jpg
Affichages : 661
Taille : 27,9 Ko
    Ce genre de souci arrive si on commence à vouloir effacer/changer ce qui a été saisi
    Si je tape sur F5 pour actualiser, je passe sur le premier enregistrement j'ai peur qu'en rajoutant des refresh ça fasse pareil...
    Je pense (sans savoir le faire) qu'il faudrait ajouter des test, ou peut être remplacer la fonction Len par Nz
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Nz(Me.cboCodePostali, "0") > 0)
    Qu'en pensez vous?

  16. #16
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    il y a 16 solutions avec bonneville.
    comme ça à la louche. En saisissant lettre à lettre bonnevile, si la seule valeur qui s'affiche dans la combobox est BONNEVILLE LA LOUVET, c'est parce que son codepostal est le plus petit des 16.
    Images attachées Images attachées  
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  17. #17
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    En mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Localite_GotFocus()
    Dim strSQL As String
     
    strSQL = "SELECT NumeroCP, Localite, CodePostal" _
    & " FROM TblCodesPostaux" _
    & " WHERE PaysCP='" & Me.[ChoixPays] & "'" _
    & " AND Localite LIKE '*" & Me.Localite.Text & "*'"
     
    If Len(Me.Localite.Text) > 0 Then
        Me.Localite.RowSource = strSQL
        Me.Localite.Dropdown
    Else
        Me.Localite.RowSource = ""
    End If
    End Sub
    sur le got focus de la combobox code postal et localité les soucis de mise à jour semblent résolus.
    Par contre cette histoire de saisie de localité est bizarre.

    j'efface le nom de la localité et le code postal, puis je commence à taper dans la case localité:
    bo: seul s'affiche Bony (02420) (pourquoi cette limitation à une seule localité?)
    bon: idem
    bonn : plein de noms contenant bonn, donc à priori le résultat attendu
    bonne : seul s'affiche bonneville la louvet (14130) et pareil jusqu'à l'écriture complète de "bonneville"

    Je ne comprends pourquoi on obtient ces résultats

  18. #18
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    il y a 16 solutions avec bonneville.
    comme ça à la louche. En saisissant lettre à lettre bonnevile, si la seule valeur qui s'affiche dans la combobox est BONNEVILLE LA LOUVET, c'est parce que son codepostal est le plus petit des 16.
    Ok, merci.
    La question est pourquoi cette limitation à une seule réponse?? C'est certes la première mais pourquoi access ignore les autres réponses?

  19. #19
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    La question est pourquoi cette limitation à une seule réponse?? C'est certes la première mais pourquoi access ignore les autres réponses?
    c'est un oubli de pma part, il suffit juste de rajouter le tri par localité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    strSQL = "SELECT NumeroCP, Localite, CodePostal" _
    & " FROM TblCodesPostaux" _
    & " WHERE PaysCP='" & Me.[ChoixPays] & "'" _
    & " AND Localite LIKE '*" & Me.Localite.Text & "*' order by Localite"
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  20. #20
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    C'est effectivement beaucoup mieux, merci beaucoup!

    J'ai donc mis le code sur le got focus de la combobox code postal et localité en plus du KeyUp

    Subsiste un (j'espère) dernier souci.
    admettons que je saisisse 74130 et selectionne entremont, tout fonctionne nickel
    zut, je me suis trompé d'une ligne, je voulais choisir faucigny, la ligne juste en dessous.
    J'efface entremont, lorsque je clique sur le champ du code postal le champ se vide, là encore nickel!
    Je ressaisis 74130 dans la case code postal, dans la liste déroulante tout s'affiche bien .
    Je choisis la ligne avec faucigny mais rien ne s'affiche dans le case localite.
    Si je change d'enregistrement (flèches en bas à droite) et que je reviens le choix fait est bien mémorisé.

    Je m'interroge, un Me.Refresh à ajouter quelque part?

    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub cboCodePostal_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim strSQL As String
     
    strSQL = "SELECT NumeroCP, CodePostal, Localite" _
    & " FROM TblCodesPostaux" _
    & " WHERE PaysCP='" & Me.[ChoixPays] & "'" _
    & " AND CodePostal LIKE '" & Me.cboCodePostal.Text & "*'"
     
    'MsgBox strSQL
     
    If Len(Me.cboCodePostal.Text) > 0 Then
        Me.Refresh
        Me.cboCodePostal.RowSource = strSQL
        Me.cboCodePostal.Dropdown
    Else
        Me.cboCodePostal.RowSource = ""
    End If
     
    End Sub
    cela me fait un message d'erreur
    Nom : Capture1.JPG
Affichages : 516
Taille : 17,0 Ko

    J'ai essayé de placer le Me.Refresh à plusieurs autres endroits sans message d'erreur, mais sans effet non plus...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. code postal + ville
    Par debutantasp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/10/2008, 14h59
  2. code postal + ville
    Par debutantasp dans le forum ASP
    Réponses: 8
    Dernier message: 18/01/2008, 18h22
  3. Validation de code postal au moment de la saisie
    Par cerede2000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/05/2007, 12h43
  4. [Formulaire] relation code Postal/ville
    Par Frenchguy dans le forum IHM
    Réponses: 12
    Dernier message: 15/11/2006, 15h37
  5. [MySQL] code postale - ville
    Par debut_php dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 29/06/2006, 15h23

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